收藏
回答

第三方微信登陆返回40001错误,component_access_token刚获取的,是什么原因?

第三方微信登陆返回40001错误,component_access_token是刚刚获取的。

{"errcode":40001,"errmsg":"invalid credential, access_token is invalid or not latest, rid: 641d17c5-0e624650-16b92885"}

是否是因为该APPID 没有授权? 我添加了开发小程序了,但这个小程序没有授权。是否是这个原因造成?


代码如下

/**
 * 代替小程序实现微信用户登陆,获取session_key openid
 * @param code
 * @param appId
 * @return
 */
public static JSONObject getSessionKeyOrOpenId(String code,String appId) {
    String componentAccessToken = WechatComponentCache.getAccessToken();
    String requestUrl = "https://api.weixin.qq.com/sns/component/jscode2session?component_access_token=" + componentAccessToken;
    Map<String, String> requestUrlParam = new HashMap<>();
    //小程序appId
    requestUrlParam.put("appid", appId);
    //小程序secret
    requestUrlParam.put("component_appid", THIRD_PARTY_APP_ID);
    //小程序端返回的code
    requestUrlParam.put("js_code", code);
    //默认参数
    requestUrlParam.put("grant_type", "authorization_code");
    //发送post请求读取调用微信接口获取openid用户唯一标识
    JSONObject jsonObject = JSON.parseObject(HttpClientUtil.doGet(requestUrl, requestUrlParam));
    checkErrCode(jsonObject);
    return jsonObject;
}
回答关注问题邀请回答
收藏

1 个回答

  • 陈宇明
    陈宇明
    2023-03-24

    先检查下参数,然后看下权限

    2023-03-24
    有用
    回复 1
    • 小鱼儿科技
      小鱼儿科技
      发表于移动端
      2023-03-24
      授权以后就可以了
      2023-03-24
      回复
登录 后发表内容