微信 获取openid

function get_code(){
    if (!session("wx_info")){
        $code = $_GET["code"];
        if(empty($code)){
                $url = str_replace ( "&" ,  "%26" ,  $_SERVER["REQUEST_URI"] );
                header("location: https://open.weixin.qq.com/connect/oauth2/authorize?appid=".C(‘WX_APPID‘)."&redirect_uri=http://".$_SERVER[‘HTTP_HOST‘].$url."&response_type=code&scope=snsapi_userinfo&state=1#wechat_redirect");
        exit;
        }else{
            $userinfo = getUserInfo($code);
            session("wx_info",$userinfo);

        }
    }
    if (!session("wx_info")){
        echo ‘微信获取信息失败! ‘;
        exit;
    }
}

    //微信接口
    function getUserInfo($code) {
        $appid = C(‘WX_APPID‘);
        $appsecret = C(‘WX_APPSECRET‘);
        $access_token = "";
        $access_token_url = "https://api.weixin.qq.com/sns/oauth2/access_token?appid=$appid&secret=$appsecret&code=$code&grant_type=authorization_code";
        $access_token_json = https_request($access_token_url);
        $access_token_array = json_decode($access_token_json, true);
        $access_token = $access_token_array[‘access_token‘];
        $openid = $access_token_array[‘openid‘];
        session("open_id",$openid);
        $userinfo_url = "https://api.weixin.qq.com/sns/userinfo?access_token=$access_token&openid=$openid&lang=zh_CN";
        $userinfo_json = https_request($userinfo_url);
        $userinfo_array = json_decode($userinfo_json, true);
        return $userinfo_array;
    }
    function https_request($url) {
            $curl = curl_init();
            curl_setopt($curl, CURLOPT_URL, $url);
            curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
            curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE);
            curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
            $data = curl_exec($curl);
            if (curl_errno($curl)) {return ‘ERROR ‘.curl_error($curl);}
            curl_close($curl);
            return $data;
     }
    

首先获取code,有了code之后使用函数getUserInfo()来获取用户信息,包括openid,用户昵称,头像等。

好像只有公众号才能获取openid,订阅号不能。

时间: 2024-11-04 05:30:26

微信 获取openid的相关文章

微信获取openid写入文件golang版_golang获取微信openid写入文件

package main import ( "encoding/json" "github.com/bitly/go-simplejson" "io/ioutil" "log" "net/http" "os" ) func main() { //获取access_token 根据自身情况添加appid secret appid, secret := "XXXXX",

java微信授权获取OPENID,ACCESS_TOKEN,用户信息

获取微信的openId流程 1.获取微信code 使用接口 : appId 是当前开发者的appId 不是用户的  path  是回调地址 这个链接是授权链接,当重定向这个链接的时候,会展示授权页,点击授权之后 跳入你path的请求接口    回调中带了一个参数code获取到就行 https://open.weixin.qq.com/connect/oauth2/authorize?appid="+appId+"&redirect_uri="+path+"&

paip.微信菜单直接跳转url和获取openid流程总结

#------不能直接跳转,贝儿提示不安全的链接.. #-------使用auth跳转. //todox 直接转到..  direct goto ViewButton skrechCard = new ViewButton("刮刮卡o428,view," + "https://open.weixin.qq.com/connect/oauth2/authorize?" + "appid="+appId+"&" + &qu

微信自定义菜单view类型获取openid访问网页

用户点击view类型按钮后,微信客户端将会打开开发者在按钮中填写的url值 (即网页链接),达到打开网页的目的,但是view不能获取用户的openid,需与网页授权获取用户基本信息接口结合使用,获得用户的登入个人信息. 工具/原料 微信公众平台 微信公众平台认证-高级接口 方法/步骤 对比view和click菜单 { "type":"click", "name":"今日歌曲", "key":"V1

[转] Android进阶——安卓接入微信,获取OpenID

PS: sendAuthRequest拿到code,通过code拿到access_token和openId,access_token可以拿到用户的信息 http://blog.csdn.net/haovip123/article/details/50503176 需求:接入微信支付,需要获取 OpenID. 安卓接入微信指南:https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&

微信网页授权-公众号支付(获取openid、用户信息等)

名词解释: openid 用户唯一标识,请注意,在未关注公众号时,用户访问公众号的网页,也会产生一个用户和公众号唯一的OpenID 业务功能描述:实现H5页面可以在微信浏览器里面进行微信支付,所以需要使用微信公号支付功能才能实现, 微信公众号支付功能需要用户的openid,所以进入页面时需要通过网页授权首先获取到openid. 支付流程大致流程如下: 1,进入支付页面时,请求以下链接获取code appid 是 公众号的唯一标识 https://open.weixin.qq.com/connec

微信公众平台开发(99) 自定义菜单获取OpenID

关键字 微信公众平台 自定义菜单 OpenID作者:方倍工作室原文:http://www.cnblogs.com/txw1958/p/weixin-menu-get-openid.html 在这篇微信公众平台开发教程中,我们将介绍如何在自定义菜单中获得用户的OpenID. 本篇开发教程的实质是微信自定义菜单及OAuth2.0授权的灵活运用. 本文分为以下四个部分: 拥有高级接口权限时的获取(基于view事件) 没有高级接口权限时的获取(基于click事件) 一.拥有高级接口权限 拥有高级接口权限

微信绑定用户服务端代码-根据code获取openId然后绑定用户

目录结构: isa.qa.core.weixin.message.resp包和isa.qa.core.weixin.util包中为微信绑定的工具类,就不一一贴出代码,详见附件,下载地址: http://files.cnblogs.com/files/007sx/weixin_util.zip jar包(包括了微信支付所需jar此处一起列出)  pom.xml <!-- weixin --> <dependency> <groupId>com.ning</group

微信view类型的菜单获取openid范例

1 <?php 2 //启用session 3 session_start(); 4 //编码 5 header("Content-type: text/html; charset=utf-8"); 6 //保存微信openid 7 $weixin_openid = ""; 8 //保存从微信得到的code 9 $code = ""; 10 //获得菜单中设置的state值 11 $state = ""; 12 13 /