文档章节

微信第三方平台 access_token is invalid or not latest

自由的开源
 自由的开源
发布于 08/21 01:20
字数 798
阅读 13
收藏 0

微信第三方开发平台code换session_key说的特别容易,但是我一使用就带来无穷无尽的烦恼,搞了一整天也无济于事.

现在记录一下解决问题的过程,方便后来人参考.

我遇到的这个问题搜索了整个网络也没找到几个有用的信息,一般都是说确实过期了,要么就是没过期,但是2个调用,你使用了旧了,说白了还是过期了.但是我的确定没有过期,因为我是使用postman手工拿的 component_access_token

 

下面是微信官方文档的说明:

第三方平台代替小程序实现登录功能请参考一般小程序接口文档wx.login 部分内容。除了下述部分以外,其他接口的功能与一般小程序实现方式一致。

code 换取 session_key

第三方平台开发者的服务器使用登录凭证 code 以及第三方平台的component_access_token 获取 session_key 和 openid。其中 session_key 是对用户数据进行加密签名的密钥。为了自身应用安全,session_key 不应该在网络上传输。

请求方式:

https://api.weixin.qq.com/sns/component/jscode2session?appid=APPID&js_code=JSCODE&grant_type=authorization_code&component_appid=COMPONENT_APPID&component_access_token=ACCESS_TOKEN

报错的完整信息:

{"errcode":40001,"errmsg":"invalid credential, access_token is invalid or not latest, hints: [ req_id: JhF.bA0078hb29 ]"} 

 

看到一篇文章 https://blog.csdn.net/zhu_lizhen/article/details/79043598

说是有可能是调用次数多导致的, 这到给我了一个思路,难道我调用次数太多了?

我使用的是 weixin-java-tools  https://gitee.com/binary/weixin-java-tools 提供的封装, 确实会在失败的时候多尝试一次,准备等一等,明天再试试吧

 

2018/08/21

经过一夜的郁闷,以为是调用次数限制,今天上午试了一下还是一样的错误

在 weixin-java-tools 微信群里遇到一个朋友有相同的问题, 到下午的时候,跟他交流的时候,他的问题解决了,原来如此简单

需要在 授权测试公众号列表 里在把小程序的原始id加上

这个靠看文档,看不到呀,以为加上公众号的原始id就行了,没想到是不行.

 

另外还有一个坑, 拿不到unionid

sessionKey, openid都能拿到,用户授权了,还是拿不到 unionId

经过网上搜索及测试,发现公众号要进行第三方平台授权,

经过亲测,还需要几件事件,公众号要绑定进开放平台,小程序也要绑定开放平台

如果都不绑定,拿不到统一ID ,如果关注了公众号, 在code 换session_key阶段,可以拿到unionId,前提是必须绑定公众号进开放平台

如果是代实现的,估计有点难呀.

 

 

 

© 著作权归作者所有

共有 人打赏支持
自由的开源
粉丝 2
博文 27
码字总数 6366
作品 0
南京
高级程序员
加载中

评论(2)

自由的开源
自由的开源

引用来自“小锅盖”的评论

第三方的话微信会主动调用一个你的api,大概20分钟一次。 没确定调用之前你调不了其他接口。 具体看第三方授权流程
谢谢你的回复,已经解决了.确实没有过期
是因为没有把小程序的原始id加进公众号授权目录里面.
小锅盖
小锅盖
第三方的话微信会主动调用一个你的api,大概20分钟一次。 没确定调用之前你调不了其他接口。 具体看第三方授权流程
网站应用微信登录功能接口开发指南

准备工作 网站应用微信登录是基于OAuth2.0协议标准构建的微信OAuth2.0授权登录系统。 在进行微信OAuth2.在进行微信OAuth2.0授权登录接入之前,在微信开放平台注册开发者帐号,并拥有一个已审...

雪深
2015/02/03
0
0
网站应用微信登录开发指南

准备工作 网站应用微信登录是基于OAuth2.0协议标准构建的微信OAuth2.0授权登录系统。 在进行微信OAuth2.在进行微信OAuth2.0授权登录接入之前,在微信开放平台注册开发者帐号,并拥有一个已审...

ada_young
2016/06/17
149
0
微信开放平台 帐号管理 绑定在同一个开放平台帐号下的公众号及小程序让用户unionid一致

第三方平台在获得此权限后,可以代替已授权的公众号/小程序创建开放平台帐号或进行绑定/解绑操作。 绑定在同一个开放平台帐号下的公众号及小程序,用户unionid一致。开发者可调用“获取用户基...

xiaogg
08/26
0
0
cdh0805010/wx_relay_server

微信中继服务器 目的:其他服务采用pull模式,通过rpcx进行rpc通信,获取相关微信token. 用户微信公众号第三方平台刷公众号平台和托管的公众号appid的相关token, 该服务不能停超过10分钟(实例...

cdh0805010
2017/03/10
0
0
微信中继服务器--wx_relay_server

wxrelayserver是一款微信公众号第三方平台中继服务器,用于刷新公众号平台自身的token和托管的公众号token。 目的: 其他服务采用拉服务模式,通过rpcx进行rpc通信,获取相关微信token. 用户...

cdh0805010
2017/03/10
642
2

没有更多内容

加载失败,请刷新页面

加载更多

sqlserver 2008 r2 直接下载地址(百度云)

之前下载的sqlserver2008发现不能附加,就卸载了,重新找到了sqlserver2008R2的百度云资源 卸载sqlserver2008还是有点麻烦,不过就是需要删除注册表中的信息 自己来回卸载了3次终于重装sqlse...

dillonxiao
40分钟前
1
0
[Java]JVM调优总结 -Xms -Xmx -Xmn -Xss

JVM调优总结 -Xms -Xmx -Xmn -Xss 博客分类: Java General JVM应用服务器电信CMS算法 堆大小设置 JVM 中最大堆大小有三方面限制:相关操作系统的数据模型(32-bt还是64-bit)限制;系统的可...

morpheusWB
50分钟前
1
0
C++ std::function 和 std::bind

C++11提供了std::function和std::bind两个工具,用于引用可调用对象。这些可调用对象包括 普通函数,Lambda表达式,类的静态成员函数,非静态成员函数以及仿函数等。引用可调用对象,可以用于...

yepanl
今天
2
0
python:可迭代对象的索引

关于 python的range的用法: 注意是[ 开始,结束)的半开区间,不包括结束 http://www.runoob.com/python/python-func-range.html import collectionsfrom collections import Iterable字符串......

Oh_really
今天
3
0
docker-compose ,docker-stack

1.例子 version: "3"services: php: image: registry.cn-hangzhou.aliyuncs.com/lxepoo/apache-php5 ports: - "38080:80" networks: - my_php_mysql volum......

chenbaojun
今天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部