【HMS Core】教你一分钟解决帐号服务获取用户信息接口session超时问题

发布时间 2023-03-22 21:08:57作者: 华为开发者论坛

【关键字】

华为帐号服务、获取用户信息、HMS Core

 

【问题描述】

今天在调用获取用户信息接口时,一直返回session timeout。参考的文档地址如下:

https://developer.huawei.com/consumer/cn/doc/development/HMSCore-References/get-user-info-0000001060261938

相关参数信息如下:

cke_386.png

现在遇到的问题是:

同样的access_token(url encode之后)在调用解析凭证Access Token接口之后是可以获取到正常数据的,并且在scope里也已赋予了相关权限,该接口文档地址如下:

https://developer.huawei.com/consumer/cn/doc/development/HMSCore-References/account-gettokeninfo-0000001050050585

调试情况如下图所示:

cke_2664.png

但是在调用获取用户信息接口之后一直返回的是session timeout,上图中显示的expire_in也是在有效期内的,调试情况如下图所示:

cke_4279.png

 

【解决方案】

该问题的解决办法分两种情况,如下:

①、如果是走的端侧,比如OKHttpClient这种方式,那么是需要使用URLEncoder.encode()的方式来处理的,如下图所示:

cke_6725.png

②、如果使用类似postman这种请求方式的话,如下图所示:

cke_8247.png

这个里面获取的access_token是可以直接使用的,不需要再去使用URLEncoder,这个可以看下access_token里面是否包含%,如果包含%的格式就是不正确的,可以再转化一下,比如decode。

OK,以上我们就可以非常快速的解决获取用户信息接口报session timeout的问题啦!

 

 欲了解更多更全技术文章,欢迎访问https://developer.huawei.com/consumer/cn/forum/?ha_source=zzh