获取订阅状态(https://developers.google.com/android-publisher/api-ref/purchases/subscriptions/get) API时,
{
"error": {
"errors": [
{
"domain": "androidpublisher",
"reason": "purchaseTokenNoLongerValid",
"message": "The purchase token is no longer valid."
}
],
"code": 410,
"message": "The purchase token is no longer valid."
}
}
在Android的上下文中,我找不到任何提到"purchaseTokenNoLongerValid“或”购买令牌不再有效“的地方,无论是在文档中还是在Google中。
我可以猜到这个错误意味着什么,但是更好地知道,无论如何,在这个错误之后,我应该如何处理订阅呢?
发布于 2018-05-17 01:53:03
我最近从Google团队收到了这条消息,所以HTTP status 410
将是订阅过期超过60天的默认响应。
从2018年5月21日开始,Purchases.subscriptions.get将返回HTTP 410,对于已经过期60天或更长时间的订阅,响应中没有任何内容。对于尚未过期或已过期不足60天的活动订阅或已取消订阅,没有任何更改。 有关如何核实购买情况的更多信息,请访问安卓开发者网站。
事实上,我在5月22日试过了,结果得到了410级的回应,而这个机构:
{
"error": {
"errors": [
{
"domain": "androidpublisher",
"reason": "subscriptionPurchaseNoLongerAvailable",
"message": "The subscription purchase is no longer available for query because it has been expired for too long."
}
],
"code": 410,
"message": "The subscription purchase is no longer available for query because it has been expired for too long."
}
}
发布于 2018-03-07 01:19:20
对于这个错误,我得到了Google Play支持小组的官方回应:
我看了一下,您提供的订单ID与一个已被删除的帐户相关联。这就是为什么它不能通过核查的原因。这是发牌制度按预期运作的一个好例子。 您可以直接忽略此订阅。
在我询问更多细节后又发了一封电子邮件:
从技术上讲,订阅仍然是活跃的,即使它没有附加到一个帐户-因此,它不显示为取消。我们意识到,如果没有收到关于帐户状态的明确消息,并且只返回一个错误,这是令人困惑的。这是我们产品的一个领域,我们仍在积极努力。 您可以做的是使用API来撤销订阅,既然您已经确认帐户已经消失,那么就可以这样做了。然后,它将读取为已取消,并将不再抛出错误时,作出一个API调用。
发布于 2017-08-22 05:35:11
我认为Google刚刚更新了他们的API,并开始使用状态代码410
来响应购买令牌的请求,这些请求不会被很长时间更新(没有订阅更新)。因此,他们确信,在100%的情况下,这种象征性的订阅将不会被延长。
因此,这是一个好消息,因为现在您可以检测到这样的购买令牌,如果您以前这样做了,就不要将它们发送到验证。
https://stackoverflow.com/questions/45688494
复制