10

我正在尝试为 OAuth 响应令牌返回 OAuth 2 响应代码。但是,我的请求返回以下错误,该错误在 google 中的结果为零。我尝试更改response_type为“令牌”而不是“代码”,但这也不起作用。

OAuth 2 参数只能有一个值:response_type

请求详情:

scope=https://www.googleapis.com/auth/userinfo.email
client_secret=_____
response_type=code
grant_type=authorization_code
redirect_uri=http://localhost/folder/
client_id=____.apps.googleusercontent.com
code=_____

我将此第二步有效载荷发送到POST https://accounts.google.com/o/oauth2/auth

我的请求有什么问题?

编辑

我刚刚意识到有https://accounts.google.com/o/oauth2/token应该用于此请求的 URL。但是,现在更改为该 URL 会给出:

HTTP/1.0 400 Bad Request
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: Fri, 01 Jan 1990 00:00:00 GMT
Date: Fri, 27 Jul 2012 22:44:35 GMT
Content-Type: application/json
X-Content-Type-Options: nosniff
X-Frame-Options: SAMEORIGIN
X-XSS-Protection: 1; mode=block
Server: GSE

{
  "error" : "invalid_request"
}

编辑 2

像上面那样删除response_type和更改 URL 解决了这个问题。

4

2 回答 2

5

收到授权码后,您必须向“/o/oauth2/token”询问访问令牌。此请求不接受“范围”和“响应类型”参数。有关更多详细信息,请参阅Google 文档

于 2012-07-27T22:51:23.770 回答
2

在尝试了几种方法后,进行 OAUTH2 调用所需的参数是 redirect_uri、response_type、scope、client_id。我根据收到的错误报告继续调试 oauth 调用。

于 2014-07-24T08:12:40.573 回答