支付宝生活号获取会员信息报token无效问题排查

支付宝生活号获取会员信息,详细文档见https://fuwu.alipay.com/platform/doc.htm#c0503

简单说一下开发步骤:

1.  登录支付宝开放平台(蚂蚁金服开放平台)。https://open.alipay.com/

2.  进入开发者中心,创建应用,并申请应用上线。

3.  签约——服务窗功能、获取会员信息功能。

4.  设置 授权回调路径 和 接口加签方式(选择RSA2(SHA256)密钥)

密钥 生成 需要下载支付宝提供的生成工具。

下载工具链接 : https://doc.open.alipay.com/docs/doc.htm?spm=a219a.7386797.0.0.iZGFov&treeId=291&articleId=105971&docType=1

选择2048,生成后绑定到支付宝开发中心。

5.  下载支付宝SDK,(把jar包打入maven仓库,括号里非必须)

https://doc.open.alipay.com/doc2/detail?treeId=54&articleId=103419&docType=1

6.  下载服务窗Demo

https://doc.open.alipay.com/docs/doc.htm?spm=a219a.7629140.0.0.5l3Mkk&treeId=54&articleId=104507&docType=1


我用的JAVA版本,其中DEMO里有这么一段坑爹的代码

使用DEMO测试,一直报token无效,找了很久终于找到问题所在,

标红的代码存在问题,修改后的代码如下:

AlipayUserInfoShareRequest userinfoShareRequest =newAlipayUserInfoShareRequest();

AlipayUserInfoShareResponse userinfoShareResponse = alipayClient.execute(

userinfoShareRequest,oauthTokenResponse.getAccessToken());

通过2处代码比较可以发现,是不是支付宝的程序猿晚上加班太晚,多写了个User


如果该问题还未解决,查看以下是否正确

1、如果只是网页获取用户OpenId,URL拼接规则,https://openauth.alipay.com/oauth2/publicAppAuthorize.htm?app_id=APPID&auth_skip=false&scope=auth_base&redirect_uri=ENCODED_URL

如果是获取用户头像、昵称等详细信息,URL拼接规则https://openauth.alipay.com/oauth2/publicAppAuthorize.htm?app_id=APPID&scope=auth_user&redirect_uri=ENCODED_URL

不管是哪一种,重定向的URL需要encode

2、检查是否开启服务窗功能、 获取会员信息功能

3、检查签名方式,文档里写只支持RSA加密方式,其实RSA,RSA2都是支持的。


题外话:记一个生活号的问题, 生活号内部可能出现打不开http协议的网页,是因为支付宝生活号对 移动运营商广告拦截的原因, 配置成https协议就可以避免这个问题

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容