微信开发,获取用户的openid

前阵子做一个包车微网站,关联到公众号的。由于boss的一些诡异的需求,我需要用到openid,然后就百度,看微信公众平台的开发者文档:http://mp.weixin.qq.com/wiki/4/9ac2e7b1f1d22e9e57260f6553822520.html

下面是我的操作历程

  1. 登入公众平台-接口权限

    1.1找到:网页授权获取用户基本信息,点右侧的修改。

    1.2要求写回调页面的域名,就是写你的代码在那个路径下:

         比如:你将要将获取openid的代码写在test.php里,而访问这个文件的路径是:   

         http://test.sinaapp.com/Public/test.php   

         回调页面即是:http://test.sinaapp.com/Public 不要写最后的那个 / ,文档上好像要求写,写了就被坑了

  2. 获取code(这是腾讯返回的值)

    腾讯提供的,获取code的url,下面是格式:

https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&state=STATE#wechat_redirect

    APPID,不说也应该要知道

    REEDIRECT_URL,就是http://test.sinaapp.com/Public/test.php (以test.php为例子)

    SCOPE,是微信的授权方式。有两种:1 snsapi_base,只能获取到openid; 2 snsapi_userinfo 能获取到比较全的用户信息,这里我用了第一种

    STATE,你写 1 就行         

   2.1 接着,在你需要的地方绑上组合好的这个url(我绑定在了公众的菜单上);

   2.2 到test.php接受code,腾讯是用post的方式传回来的,$code =$_POST['code'];即可接收到code

3.利用code获取包含openid的json数据包

    腾讯提供了获取json数据包的url

https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code

    APPID、SECRET、CODe这三个就不再赘述。

    组合好这个url,就将这个url,post或get过去也行。

    这里我用了get。

    用的是    file_get_content() 这个函数

$url =" 

$json=file_get_contents($url);
$obj=json_decode($json);

正确返回的json数据包的格式:

{
   "access_token":"ACCESS_TOKEN",
   "expires_in":7200,
   "refresh_token":"REFRESH_TOKEN",
   "openid":"OPENID",
   "scope":"SCOPE"
}

    根据上面的json的格式,获取openid

$openid =$obj->openid;


你可能感兴趣的:(微信开发,获取用户的openid)