复用公众号主体快速注册小程序,提示{"errcode":61058,"errmsg":"invalid ticket"},并且没有 rid 信息。
但是,小程序实际已经成功注册,在公众号后台可以看到有新的小程序关联。
请问这个要怎么排查解决呢?
【相关信息】
1、请求时间:2022-06-27 09:14:50
2、新建的小程序id:gh_67c7b26beb7b
【相关问题】
1、https://developers.weixin.qq.com/community/develop/doc/000cc04abac3e0d1ed4d6cf4f5bc00
这里说是切换管理员导致的。
我已经切换回最初的管理员账号了,却还是报错"invalid ticket"。
2、https://developers.weixin.qq.com/community/develop/doc/00044cfece0290e20ff9f5df15b800
这里说是超时时间过短引发重试导致的。
我的超时时间是30秒,并且请求在10秒内就已经返回了"invalid ticket"。
3、https://developers.weixin.qq.com/community/develop/doc/0008687f2e0e803e34edd766958400
这个帖子的问题,和我的很相似,但尚未贴出具体原因。
我这边统计的结果是,一定是在发起请求的第5秒返回invalid ticket错误,这个和官方文档
https://developers.weixin.qq.com/doc/oplatform/Third-party_Platforms/2.0/api/Register_Mini_Programs/fast_registration_of_mini_program.html
的这个说法中的秒数是刚好相等的,套用从这个说法来解释,我们调用的post请求时,尽管只发起了1次请求,从代码执行上看并没有触发超时重试。但是实际运行结果却有点像官方描述的一样:我们发起的post请求在单次执行没有超时的情况下,post过程在我们向微信服务器post请求后的第5秒,内部中断了请求,接着内部又重新发起请求;然后微信那边就给5秒时post过程内部发起的请求返回invalid ticket错误;再然后,整个post过程就返回invalid ticket给我们的代码了。
但是这个解释可能发生吗?
很多人反馈过这个问题,但是官方并没有给出什么处理建议,所以还是靠自己吧
既然小程序已经创建了,那么接下来还未完成的步骤就是获取小程序的appid和refresh_token了,在返回61058错误时,自己调用【拉取所有已授权的帐号信息】接口,获取已授权的账号信息吧,好在后面授权的是在列表的前面的
https://developers.weixin.qq.com/doc/oplatform/openApi/OpenApiDoc/authorization-management/getAuthorizerList.html
获得列表中的第1个账号(账号信息包括appid、refresh_token和授权时间戳,如果你并发的授权比较多,自己做优化吧),再调用【获取授权帐号详情】接口获取账号的详情,判断该账号是否本次复用公众号创建小程序的商户的账号,然后接着后续的处理
https://developers.weixin.qq.com/doc/oplatform/openApi/OpenApiDoc/authorization-management/getAuthorizerInfo.html
1、我这边测了两次接口,第一次是5.5秒左右返回invalid ticket,第二次则是9.7秒。
post过程在第5秒后断开重试,要验证的话,可以尝试抓包看下是否发送了两次数据包。
2、通过【拉取所有已授权的帐号信息】、【获取授权帐号详情】,找回已创建的小程序,这个方法对我用处很大,再次谢谢啦!
3、还有一种解决思路就是,提示微信管理员查看微信通知或者微信小程序助手,如果发现小程序实际已创建成功,就通过扫码授权的方式,授权该小程序到第三方平台。
【获取预授权码】https://developers.weixin.qq.com/doc/oplatform/openApi/OpenApiDoc/ticket-token/getPreAuthCode.html
【获取令牌】https://developers.weixin.qq.com/doc/oplatform/openApi/OpenApiDoc/ticket-token/getComponentAccessToken.html
请问 问题解决了麽?如何解决的?
具体的补偿方案,可以参考上面的回复哈~