使用Google Play订阅验证API遇400无效参数错误求助
问题
使用Google APIs在服务器端验证Android订阅时,遇到400错误,谷歌官方文档未提及该错误细节。
请求的API接口(GET方法):https://androidpublisher.googleapis.com/androidpublisher/v3/applications/{packageName}/purchases/subscriptions/{subscriptionId}/tokens/{token}
错误响应内容:
{ "error": { "code": 400, "message": "您的请求对此订阅购买无效。", "errors": [ { "message": "您的请求对此订阅购买无效。", "domain": "androidpublisher", "reason": "subscriptionInvalidArgument" } ] } }
可能的解决方案
- 核对请求路径参数的准确性:
packageName必须与Google Play上架应用的包名完全一致(区分大小写,无拼写错误)subscriptionId要和Google Play Console中配置的订阅产品ID完全匹配token必须是客户端从Google Play获取的原始订阅验证令牌,不能经过二次编码或篡改
- 确认订阅状态合法性:若订阅已过期、被取消或从未成功激活,会触发该错误,可让客户端重新获取当前订阅状态后再发起验证
- 检查API调用权限:确保使用的服务账号已在Google Play Console中添加为开发者账号,且拥有「查看应用权限」或「编辑应用权限」,同时服务账号的OAuth2令牌已正确获取并包含
https://www.googleapis.com/auth/androidpublisher权限范围 - 验证API版本兼容性:确认使用的是v3版本接口,部分旧版本的订阅令牌可能不兼容v3接口的验证逻辑
- 排查区域或账号限制:如果订阅是特定区域专属产品,而验证请求的服务账号所在区域不匹配,也可能导致该错误
内容的提问来源于stack exchange,提问作者Ali Aksakarya
相关产品推荐
相关产品推荐

