从谷歌服务获取OAuth令牌

时间:2013-07-22 11:21:12

标签: python oauth google-oauth

我试图通过gmail获取当前用户的所有联系人。

我在这里注册了域名并获得了这些密钥:https://www.google.com/accounts/ManageDomains

我有一台本地服务器在

运行并响应oauth_callback_url
`127.0.0.1:8000/google/oauth/cb/`

我在shell中尝试以下代码,看看我是否获得了令牌和秘密, 以下是我尝试过的代码,后面是我收到的输出:

import oauth2 as oauth, requests

consumer = oauth.Consumer(my_consumer_key, my_consumer_secret)
client = oauth.Client(consumer)
OAUTH_CALLBACK_URL = 'http://%s/google/oauth/cb/' % (request.META.get('HTTP_HOST'))
resp, content = client.request("%s?%s" % (GOOGLE_REQUEST_TOKEN_URL, OAUTH_CALLBACK_URL), method="GET")

输出

In [21]: content
Out[21]: 'parameter_absent\noauth_parameters_absent:scope\n\n'

In [22]: resp
Out[22]: 
{'-content-encoding': 'gzip',
 'cache-control': 'private, max-age=0',
 'content-length': '48',
 'content-type': 'text/plain; charset=UTF-8',
 'date': 'Mon, 22 Jul 2013 11:09:53 GMT',
 'expires': 'Mon, 22 Jul 2013 11:09:53 GMT',
 'server': 'GSE',
 'status': '400',
 'x-content-type-options': 'nosniff',
 'x-xss-protection': '1; mode=block'}

请告诉我,我错过了什么。

1 个答案:

答案 0 :(得分:0)

正如在输出中已经看到的那样,范围参数缺失,因此添加范围网址有帮助。

对于contat,范围网址为 - https://www.google.com/m8/feeds/