收藏
回答

小程序第三方平台,测试号授权之后回调url返回的auth_code无效?

测试小程序点击授权之后,回调url里取到的auth_code是不是授权码?

调用接口通过授权码获取到授权方信息

https://api.weixin.qq.com/cgi-bin/component/api_query_auth

这个接口报错:{"errcode":61009,"errmsg":"code is invalid"}

回答关注问题邀请回答
收藏

1 个回答

  • 凌风
    凌风
    2021-05-18

    请求的地址和传入的参数是什么?

    2021-05-18
    有用
    回复 7
    • Hong。
      Hong。
      2021-05-18
      按照这个文档传的https://developers.weixin.qq.com/doc/oplatform/Third-party_Platforms/2.0/api/ThirdParty/token/authorization_info.html
      授权码是按照官方流程,在点击授权后回调url里取到的,结果报错
      2021-05-18
      回复
    • 凌风
      凌风
      2021-05-18回复Hong。
      component-access-token获取到了吗
      2021-05-18
      回复
    • Hong。
      Hong。
      2021-05-18回复凌风
      获取到了的,报的错是code is invalid,就不知道哪里的问题,都是按照文档上走的
      2021-05-18
      回复
    • 凌风
      凌风
      2021-05-18回复Hong。
      贴代码来看看
      2021-05-18
      回复
    • Hong。
      Hong。
      2021-05-18回复凌风
      @Override
      public WechatQueryAuth pullAuthCode(String appId, String auth_code, String expires_in) {
          String codeUrl = "https://api.weixin.qq.com/cgi-bin/component/api_query_auth?component_access_token=";
          String token = getAccessToken(appId);
          WechatQueryAuth wechatQueryAuth = WechatQueryAuth.valueOfSend(appId, token, auth_code);
          String info = OkHttpUtil.callPost(codeUrl + token, JSON.toJSONString(wechatQueryAuth));
          WechatQueryAuth resultCode = JSONObject.parseObject(info, WechatQueryAuth.class);
          LOGGER.info("pullAuthCode is ok resultCode:{}", resultCode);
          WechatQueryAuthResult result = resultCode.getAuthorization_info();
          result.setTime(System.currentTimeMillis() / 1000 + result.getExpires_in());
          redisService.putValue(WanmaConstants.API_QUERY_AUTH + appId, JSON.toJSONString(result));
          return resultCode;
      }
      2021-05-18
      回复
    查看更多(2)
登录 后发表内容