我想验证服务器端androidpublisher
API的用户订阅。我们在App中订购了一个月的产品。我们遵循的循环在
Google已为此目的提供了以下API。
获取https://www.googleapis.com/androidpublisher/v2/applications/ {packageName} / purchases / subscriptions / {subscriptionId} / tokens / {token}
此Api需要授权。我尝试了下面的代码
receipt_json = json.loads(subscription_object.receipt)
service = build(serviceName='androidpublisher', version='v2', developerKey='key')
response = service.purchases().subscriptions().get(
packageName=receipt_json.get('packageName'),
subscriptionId=receipt_json.get('productId'),
token=receipt_json.get('purchaseToken'))
但我收到了以下回复
{
"error": {
"errors": [
{
"domain": "global",
"reason": "required",
"message": "Login Required",
"locationType": "header",
"location": "Authorization"
}
],
"code": 401,
"message": "Login Required"
}
}
请指导我在验证收据之前如何执行授权。一个重点,我想在服务器端验证收据。不是客户端。因此,用户不会看到或点击任何链接以授权此请求。
答案 0 :(得分:1)
您似乎并没有真正发送任何身份验证密钥/令牌。您可以尝试使用OAuth2凭据(访问令牌或刷新令牌)进行身份验证:
import httplib2
from googleapiclient.discovery import build
from oauth2client.client import OAuth2Credentials
credentials = OAuth2Credentials(...)
http = credentials.authorize(http=httplib2.Http())
service = build(serviceName='androidpublisher', version='v2', http=http)