Google Play API返回错误401

Ale*_*nin 11 android google-play android-gradle-plugin

我正在使用gradle-play-publisher库将我的应用程序上传到Google Play,但在执行发布任务时出现错误401 Unauthorized.设置了我在Google Play的开发帐户和开发者控制台的服务帐户.Play API已启用.

正如我从构建日志中看到的,发送的第一个请求是:

POST https://accounts.google.com/o/oauth2/token
Run Code Online (Sandbox Code Playgroud)

我得到200 OK和以下json:

{
  "access_token" : "< some value here>",
  "token_type" : "Bearer",
  "expires_in" : 3600
}
Run Code Online (Sandbox Code Playgroud)

然后发送下一个请求:

POST https://www.googleapis.com/androidpublisher/v2/applications/< my app's package name here>/edits
Run Code Online (Sandbox Code Playgroud)

首先,我注意到了这个标题:

Authorization: <Not Logged>
Run Code Online (Sandbox Code Playgroud)

第二,我把这个错误作为回应

401 Unauthorized
WWW-Authenticate: Bearer realm="https://accounts.google.com/", error=invalid_token
Run Code Online (Sandbox Code Playgroud)

有没有人遇到同样的问题?一切似乎都设置正确,所以我不知道出了什么问题.谢谢.

SID*_*ode 5

你的错误意味着

服务器响应 401(未经授权)状态代码,但无法提供单个身份验证质询(WWW-Authenticate 标头), 从而使 HttpClient 无法自动从身份验证失败中恢复。

检查应用程序中的 HTTP POST 请求,该请求可能需要 HTML 表单中缺少一些凭据

我希望您已经使用 POSTMAN google chrome 扩展程序测试您的 REST API(url)。

现在,如果您的其余 api 工作正常,请考虑在代码中使用它,逐步尝试找出以下内容

  1. 服务器实现错误或客户端实现错误或 url
  2. 参数错误
  3. 检查<uses-permission android:name="android.permission.INTERNET" />您的 AndroidManifest.xml