Google Oauth2中的400 Bad Request用于访问令牌

时间:2015-07-01 10:18:45

标签: python django google-analytics oauth-2.0 google-oauth

我正在我的django应用中设置Google Oauth 2。我能够获取代码但是当我尝试将其替换为访问令牌时,我收到Bad Request错误。这是我的代码:

code = request.GET['code']
state = request.GET['state']
access_token_url = "https://www.googleapis.com/oauth2/v3/token"
payload = {
    'grant_type' : "authorization_code",
    'client_id': CLIENT_ID,
    'client_secret': CLIENT_SECRET,
    'code': code,
    'redirect_uri': "http://127.0.0.1:8888/home",
}
payload = urllib.urlencode(payload)
r = urllib2.Request(access_token_url, payload, headers={"Content-type" : "application/x-www-form-urlencoded"})
response = urllib2.urlopen(r)

可能有什么不对?

当我使用POSTMAN(谷歌浏览器应用程序)尝试相同时,我得到了

{
  "error": "invalid_request",
  "error_description": "Required parameter is missing: grant_type"
}

我知道这里有类似的问题,但我仍然无法弄清楚错误。

2 个答案:

答案 0 :(得分:2)

这是一个愚蠢的错误。我错了redirect_uri。无论如何,来自谷歌API的错误消息并没有多大帮助。

答案 1 :(得分:0)

添加到有效负载

grant_type=authorization_code