2015-07-03 162 views
11

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

当我从生成日志中看到,发送的第一个要求是:

POST https://accounts.google.com/o/oauth2/token 

我得到200 OK及以下JSON:

{ 
    "access_token" : "< some value here>", 
    "token_type" : "Bearer", 
    "expires_in" : 3600 
} 

那么接下来的请求被发送:

POST https://www.googleapis.com/androidpublisher/v2/applications/< my app's package name here>/edits 

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

Authorization: <Not Logged> 

第二,我得到这个错误作为

401 Unauthorized 
WWW-Authenticate: Bearer realm="https://accounts.google.com/", error=invalid_token 

有没有人遇到同样的问题的回应?一切似乎都设置正确,所以我不知道哪里出了问题。谢谢。

回答

3

你的错误意味着

服务器401(未授权)状态代码回应,但未能提供一个权威性的挑战(WWW-Authenticate头)因此,不可能对HttpClient的,自动从认证中恢复失败。

检查你的应用程序的HTTP POST请求,其中可能期望 一些简短的证书在HTML表单

我希望你已经通过邮差谷歌测试你的休息API(URL) Chrome扩展。现在

,如果你的REST API工作正常,然后再考虑如何使用,在你的代码,一步步揣摩下面

  1. 服务器实现错误或客户端执行错误或网址
  2. 参数错误
  3. 检查<uses-permission android:name="android.permission.INTERNET" />在 AndroidManifest.xml中
+1

感谢您的回复。问题是:我不会手动发送任何这些请求。我在问题中提到的图书馆应该为我做所有事情。它似乎对其他人有效。 –

+0

请检查以下链接:http://pcsupport.about.com/od/findbyerrormessage/a/401error.htm –

+1

谢谢,我完全知道401错误的含义。正如我已经提到的:我无法访问发送这些请求的代码。它在图书馆里面。我唯一可以控制的是Google API的项目配置。所以我希望得到一个答案,如'是的,我面临同样的问题,只是去[在这里],并打开[此功能]' –

相关问题