...
echo($code);
$wechat_http = "
https://api.weixin.qq.com/sns/oauth2/access_token? appid=".$appId."&secret=".$appSecret."&code=".$code."&grant_type=authorization_code";
$curl = curl_init();
curl_setopt($curl,CURLOPT_URL,$wechat_http);
curl_setopt($curl,CURLOPT_RETURNTRANSFER,true);
$result = curl_exec($curl);
echo($result);
exit;
...
如上代码。
微信上的 H5 页面有时候获取不到用户的 open_id 了,但有时候可以,昨天研究了半天终于找到了问题所在,上面的$code 是从微信获取到的,是正常的,但是下面的代码 echo $result 时有时候出来的是 false, 有时候是正确的 JSON 数据:
{
"access_token":"ACCESS_TOKEN",
"expires_in":7200,
"refresh_token":"REFRESH_TOKEN",
"openid":"OPENID",
"scope":"SCOPE"
}
但是如果我先把$code 复制出来,然后在浏览器里敲一下这个组装好的 URL:
https://api.weixin.qq.com/sns/oauth2/access_token? appid=".$appId."&secret=".$appSecret."&code=".$code."&grant_type=authorization_code
每次都是能正确显示上面的 JSON 数据。
所以问题就是出在了
$curl = curl_init();
curl_setopt($curl,CURLOPT_URL,$wechat_http);
curl_setopt($curl,CURLOPT_RETURNTRANSFER,true);
$result = curl_exec($curl);
对吗?但是关键以前这段代码都是正常的,现在有时候不正常,有时候正常,求大神指点
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
https://www.v2ex.com/t/360570
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.