【已结案】qq第三方登陆,灵异事件

@Ta 05-13 18:53 341点击
第一次是由 PHPCurl的GET请求返回结果,
第二次用相同的URL,人工浏览器请求。
效果不一样

  public function query()
    {
        $code=$this->code;
        $url='https://graph.qq.com/oauth2.0/token?grant_type=authorization_code&client_id='.$this->app_id.'&client_secret='.$this->secret.'&code='.$code.'&redirect_uri='.urlencode($this->oauth_redirect_uri);

        echo    '请求接口:'.htmlspecialchars($url);
        $result=  $this->curl($url,null);
        echo "<br>".'请求结果:'.$result;
        if(strpos('access_token=',$result)===false)
        {
            return ['errorcode'=>1,'errormsg'=>'无效的接口返回'];
        }

        $access_token=substr($result,strlen('access_token=')-1,strpos('&',$result));
        echo $access_token;
    }

回复列表(6)
  • 1
    Hik
    @Ta / 05-10 08:57
    报错信息不明写着么,标志代码被重用错误
  • 3
    @Ta / 05-10 13:05
    CODE本来就只能用一次
  • 4
    @Ta / 05-10 14:23
    @水木易安@Hik,看清楚,code第一次使用是phpcurl,但是第二次同样的参数用人工浏览器访问code才被激活,说明第一次php curl code激活失败
  • 5
    Hik
    @Ta / 05-10 15:44
    @猫腻王子,嗦嘎
  • 6
    @Ta / 05-13 18:53
    找到原因,
    QQ的Oauth2.0接口不许接收POST,
    上述动作中,curl设定了POST,虽然传入参数为NULL,但是应该是这个原因。导致QQ网关 拦截器层,并未进入逻辑层 直接返回一个结果
    注意的坑:关闭curl的post,直接使用纯GET请求
添加新回复
回复需要登录

[聊天-公共聊天室] MINE:http://fuligou.wang京东内部优惠卷:http://fuligou.wang!天猫专…