收藏
回答

获取微信手机号码报errcode:40001错误是什么原因?

获取微信手机号码报errcode:40001错误, 使用postman分步测试却正常?

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

2 个回答

  • 牲产队-朝酒晚舞
    牲产队-朝酒晚舞
    2023-09-05

    access_token 无效或者过期,别的地方重新获取了access_token,导致当前access_token过期了。

    https://developers.weixin.qq.com/community/develop/article/doc/0000cc805683281d77a86435656013

    2023-09-05
    有用 1
    回复 4
    • 鲁大师
      鲁大师
      2023-09-05
      我使用程式(详见本帖子我发的代码)刚运行的结果access_token值和code的值当参数, 立即使用postman再请求一遍手机号码, 在postman中可以正常显示手机号码。说明access_token 是有效的哦(没有过期的)。
      2023-09-05
      回复
    • 牲产队-朝酒晚舞
      牲产队-朝酒晚舞
      2023-09-05回复鲁大师
      不过期 不会给这个errCode。。
      2023-09-05
      回复
    • 鲁大师
      鲁大师
      2023-09-05
      我是先使用程式作测试, 获取到access_token和code两个值, 再将这两个值当作参数在postman中作测试, 能正常显示手机号码的。但是在开始的程式中作测试时显示errcode:40001错误(没有显示手机号码), 请知悉!
      2023-09-05
      回复
    • 鲁大师
      鲁大师
      2023-09-05
      问题已经解决! 谢谢!
      2023-09-05
      回复
  • 鲁大师
    鲁大师
    2023-09-05
    string url2 = "https://api.weixin.qq.com/wxa/business/getuserphonenumber?access_token=" + str1;
    var client = new HttpClient();
    var request = new HttpRequestMessage(HttpMethod.Post, url2);
    var content = new StringContent("{\"code\":\"" + code + "\"}", null, "application/json");
    request.Content = content;
    var response = await client.SendAsync(request);
    response.EnsureSuccessStatusCode();
    str2 = await response.Content.ReadAsStringAsync();
    //注: 已经获取到access_token值了,使用postman访问https://api.weixin.qq.com/wxa/business/getuserphonenumber?access_token=" + str1
    (加json格式参数code)能获取到手机号数据。但是使用api代码时报错:{"errcode":40001,"errmsg":"invalid credential, access_token is invalid or not latest, could get access_token by getStableAccessToken, more details at https://mmbizurl.cn/s/JtxxFh33r ......
    
    2023-09-05
    有用 1
    回复 1
    • 鲁大师
      鲁大师
      2023-09-05
      2023-09-05
      回复
登录 后发表内容