问题景象

集成华为HMS SDK利用内领取的相干能力时,参考华为提供的文档,对领取订单进行校验,后果总是报错如下:

{"responseCode":"6","responseMessage":"Token is expired or invalid"}

问题定位

分割华为官网技术客服(地址:https://developer.huawei.com/...)沟通定位了下,倡议从以下几点排查,给项目组共事分享下~~~

  • 如果服务器开发应用的是Java、PHP、C#、Python、Node.js、Golang、Ruby和Perl等几种语言,能够参考华为提供的示例代码自行排查下。

文档地址为:https://developer.huawei.com/consumer/cn/doc/development/HMSCore-Examples-V5/server-sample-code-0000001050145549-V5

  • 向华为服务器申请时须要应用AccessToken进行鉴权,须要应用客户端模式获取AccessToken,千万不要弄错!!!

文档:https://developer.huawei.com/consumer/cn/doc/development/HMSCore-Guides-V5/open-platform-oauth-0000001053629189-V5#ZH-CN_TOPIC_0000001053629189__section12493191334711

  • 获取AccessToken的申请参数时,须要应用华为后盾的appid、app secret(我这边就是这个起因导致的,app secret拿错了),有图有假相~具体获取形式参考如下:

  • 查看客户端inAppPurchaseData(蕴含appid信息)获取的待校验purchaseToken和服务器申请获取AccessToken应用的appid(下面第三条说到的)是否是同一个。

原文链接:https://developer.huawei.com/consumer/cn/forum/topic/0201411111503110370?fid=18

原作者:Mayism