> 백엔드 개발 > PHP 튜토리얼 > 微信开发,总是获取token失败

微信开发,总是获取token失败

WBOY
풀어 주다: 2016-06-20 12:52:56
원래의
1838명이 탐색했습니다.

$appid = 'wx1aabc8673b8f103a';$appsecret = '9aa99fc9db9bf1321c1afe05feb29b6c';$url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=$appid&secret=$appsecret";$url='https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=wx1aabc8673b8f103a&secret=9aa99fc9db9bf1321c1afe05feb29b6c';//echo $access_token;function getDo($url){$ch = curl_init();curl_setopt($ch, CURLOPT_URL, $url);curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);$output = curl_exec($ch);curl_close($ch);$jsoninfo = json_decode($output, true);return $jsoninfo;}$arr=getDo($url);$info_url = "https://api.weixin.qq.com/sns/userinfo?access_token={$arr["access_token"]}&openid={$appid}&lang=zh_CN";        print_r(getDo($info_url));
로그인 후 복사


其实是能获取token,就是在使用是,就失效了,怎么办啊?


回复讨论(解决方案)

微信 有提供官方的php sdk  可以参照其提供的php脚本 来修改你的程序,  

另外  话说你是不是把appid和appsecret暴露了.......

$arr=getDo($url);
 
 
$info_url = "https://api.weixin.qq.com/sns/userinfo?access_token={$arr["access_token"]}&openid={$appid}&lang=zh_CN";
 
 
        print_r(getDo($info_url));

为什么要调用2次getDo方法呢?

userinfo接口的openid你传了appid,这样传是不对的,openid是用户的唯一标示,改一下吧。

先获取code   然后利用code获取access_token和openid    然后获取用户信息

userinfo只要传token就可以了。返回的是openid之类的,还有,你用了2次getdo,token更新了,而查询的是第一次的token值

openid= {$appid}
传错了。

第一步:用户同意授权,获取code
第二步:通过code换取网页授权access_token

参考: http://mp.weixin.qq.com/wiki/17/c0f37d5704f0b64713d5d2c37b468d75.html

微信 有提供官方的php sdk  可以参照其提供的php脚本 来修改你的程序,  

另外  话说你是不是把appid和appsecret暴露了.......

我不怕,你知道,又
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿