1

我正在编写一个需要访问 Google 任务 API 的 Java 客户端应用程序。我正在按照页面https://developers.google.com/accounts/docs/OAuth2InstalledApp的说明进行操作,并且我已经设法获得了授权码。但是,当我尝试获取访问令牌时,我不断收到错误 400“错误请求”。

我正在使用 Firefox 的海报插件进行测试。我向https://accounts.google.com/o/oauth2/token发送了一个帖子请求,内容如下:

code=<the-code-i-got-in-step1>&
client_id=1097620474561-gusvm8cq428h86r7pcum285cuffssncj.apps.googleusercontent.com&
client_secret=,my-client-secret>&
redirect_uri=hurn:ietf:wg:oauth:2.0:oob&
grant_type=authorization_code

关于我可能做错了什么的任何建议?

4

2 回答 2

1

我最终想通了。在对代码进行初始请求时,我没有明确指定需要脱机访问,如此处所述invalid_grant 试图从谷歌获取 oAuth 令牌

感谢所有帮助我解决这个问题的人

于 2014-01-31T11:32:51.383 回答
0

如果是 400 错误(而不是 401 - 您的问题中提到了这两个代码),那么很可能请求格式不正确,请检查通用 HTTP 内容,例如:

  1. 确保它是 POST - 并且您将数据作为正文,而不是作为查询字符串。
  2. 内容长度已设置。
  3. Content-Type 设置为 application/x-www-form-urlencoded。
  4. 每个表单参数实际上都是 urlencoded

我建议尽可能使用 Google 提供的客户端库,可以在此处找到已安装客户端应用程序的示例: https ://code.google.com/p/google-api-java-client/wiki/OAuth2 #Installed_Applications

于 2014-01-25T05:23:43.183 回答