【问题标题】:I get UNAUTHENTICATED error when I call Method: purchases.subscriptions.get endpoint当我调用 Method: purchase.subscriptions.get 端点时,我收到 UNAUTHENTICATED 错误
【发布时间】:2020-10-23 12:04:04
【问题描述】:

当我尝试从我的后端服务器调用 https://androidpublisher.googleapis.com/androidpublisher/v3/applications/{packageName}/purchases/subscriptions/{subscriptionId}/tokens/{token} 来验证我收到的购买时:

{
  "error": {
    "code": 401,
    "message": "Request is missing required authentication credential. Expected OAuth 2 access token, login cookie or other valid authentication credential. See https://developers.google.com/identity/sign-in/web/devconsole-project.",
    "errors": [
      {
        "message": "Login Required.",
        "domain": "global",
        "reason": "required",
        "location": "Authorization",
        "locationType": "header"
      }
    ],
    "status": "UNAUTHENTICATED"
  }
}

如何从我的后端服务器进行身份验证(因此无需任何用户界面)?有什么方法可以在某处创建 API 密钥 并使用它进行身份验证?

【问题讨论】:

  • 请编辑您的问题并包含您的代码。您需要获得 Oauth2 授权才能运行此请求。您缺少带有不记名令牌的授权标头
  • @DaImTo 我不想使用 Oauth2,而是使用 api 密钥。接缝是可能的,但我不知道该怎么做:(
  • 您使用的方法需要Oauth2才能访问私有用户数据,APIkeys仅用于访问公共数据。

标签: android google-api google-play in-app-purchase google-play-services


【解决方案1】:

错误信息

请求缺少所需的身份验证凭据。预期的 OAuth 2 访问令牌、登录 cookie 或其他有效的身份验证凭据。见https://developers.google.com/identity/sign-in/web/devconsole-project

声明需要授权。

如果您查看 Method: purchases.subscriptions.get 的文档

您会注意到它声明此方法需要以下范围的授权

假设这是您开发者控制的帐户,并且您只想访问这个单一帐户,您应该考虑使用服务帐户进行授权。这里有文档Using a service account

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-07-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多