我正试图返回OAuth响应令牌的OAuth 2响应代码。然而,我的请求返回了以下错误,该错误在谷歌中没有结果。我尝试将response_type
更改为"token"而不是"code",但也没有成功。
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就解决了这个问题。
收到授权代码后,您必须向"/o/oauth2/token"请求访问令牌。此请求不包含"scope"one_answers"response_type"参数。有关更多详细信息,请参阅谷歌文档。
在尝试了几个方法之后,进行OAUTH2调用所需的参数是redirect_uri,response_type,scope,client_id。我根据收到的错误报告继续调试oauth调用。