JeffreySu / WeiXinMPSDK

微信全平台 .NET SDK, Senparc.Weixin for C#,支持 .NET Framework 及 .NET Core、.NET 8.0。已支持微信公众号、小程序、小游戏、微信支付、企业微信/企业号、开放平台、JSSDK、微信周边等全平台。 WeChat SDK for C#.
https://weixin.senparc.com
Apache License 2.0
8.43k stars 4.35k forks source link

老企业号升级到企业微信,因为获得的AccessToken位数不足256而被当作AppId处理,导致报错 #860

Closed lishewen closed 7 years ago

lishewen commented 7 years ago

( 此版块专为反馈bug及提交需求服务,不负责解答开发问题,请勿发表开发问题, 如果您需要这方面的帮助,请移步问答社区https://weixin.senparc.com/QA )

问题描述

老企业号升级到企业微信,因为获得的AccessToken位数不足256而被当作AppId处理,导致报错 appId(_0evr6HbAnWCUfn1tRpbVY2uV63fDOfT-fUnpQcq6egl8bYFp3Xq45ebImXn5Aj1_nz_mFCUz9sDnoEkfy-jyXqJEc4Hty0BAo2VQTB8ogx7qkL2w1p0H2E1fKWwJrQ1285V0XhEQ0pcHMLwy9RbHuD4sHdAJ5ZkXGchNQ1eHsmseoBxucKvyAnEq9psJVLMjkU4G3ZRa0NoTBSy0g6ujg)尚未注册,请先使用AccessTokenContainer.Register完成注册(全局执行一次即可)!模块:Work”

新建的企业微信则不存在这个问题,获得的AccessToken位数是大于256的,希望再斟酌下 IsAppId 方法的判定

微信官方文档 URL
微信官方文档快照(直接复制关键内容到下方)
发现问题的模块
模块对应的.net版本
开发环境
缓存环境
lishewen commented 7 years ago

我做了这么多项目发现CorpId基本都是以 wx 和 ww 开头的,能否作为辅助判断的依据,或者根据 CorpId+'@'+CorpSecret 中的'@'链接符作为判定的依据,而不是单纯的判断位数

JunLiangW commented 7 years ago

同样问题.我是2月前注册的企业微信并认证,现在获取的accesstoken是214位.

JeffreySu commented 7 years ago

@lishewen @JunLiangW 发布了一个新的版本,看一下:https://www.nuget.org/packages/Senparc.Weixin/4.16.4

JeffreySu commented 7 years ago

经测试已经可以用,欢迎反馈你们的测试结果。

lishewen commented 7 years ago

@JeffreySu 本地调试通过,已签入TFS待明天CI到正式环境再看看

JeffreySu commented 7 years ago

@lishewen 根据群里面反馈,新账号也会有AccessToken缩短的问题,看来是很普遍的。

lishewen commented 7 years ago

嗯,昨天的确有不少这方面的错误日志,今天观察CI后的启动日志,应该是没问题了,这个可以Close了