Google Data API身份验证

Ser*_*nko 6 python django gdata-api google-api gdata

我试图让我的Django应用程序(不使用谷歌应用程序引擎)使用谷歌联系人数据API从谷歌联系人检索数据.通过身份验证文档以及Data API Python客户端文档

获得一次性令牌的第一步(AuthSubRequest)工作正常.下一步(AuthSubSessionToken),它是将一次性令牌升级为会话令牌.python API调用UpgradeToSessionToken()根本不适合我,它给了我NonAuthSubToken异常:

gd_client = gdata.contacts.service.ContactsService()
gd_client.auth_token = authsub_token
gd_client.UpgradeToSessionToken() 
Run Code Online (Sandbox Code Playgroud)

作为替代方案,我希望通过"手动"构建HTTP请求来实现它:

url = 'https://www.google.com/accounts/AuthSubSessionToken'
headers = {
               'Content-Type': 'application/x-www-form-urlencoded',
               'Authorization': 'AuthSub token=' + authsub_token,
               'User-Agent': 'Python/2.6.1',
               'Host': 'https://www.google.com', 
               'Accept': 'text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2',
               'Connection': 'keep-alive',
           }
req = urllib2.Request(url, None, headers)
response = urllib2.urlopen(req)
Run Code Online (Sandbox Code Playgroud)

这给了我一个不同的错误:

HTTP错误302:HTTP服务器返回重定向错误,导致无限循环.最后30x错误消息是:暂时移动

我在这做错了什么?我非常感谢我尝试使用的方法之一的帮助/建议/建议:Python API调用(UpgradeToSessionToken)或使用urllib2手动构建HTTP请求.

Mic*_*ael 4

根据这里的2.0 文档,有一个 python 示例集...

运行示例代码

完整的工作示例客户端包含本文档中显示的所有示例代码,可在 Python 客户端库发行版的 目录下找到samples/contacts/contacts_example.py

示例客户端对联系人执行多项操作以演示联系人数据 API 的使用。

希望它能为您指明正确的方向。