Djangoアプリ(Googleアプリエンジンを使用していない)に、GoogleコンタクトデータAPIを使用してGoogleコンタクトからデータを取得させようとしています。認証ドキュメントとDataAPIPythonクライアントドキュメントを確認する
使い捨てトークンを取得する最初のステップ(AuthSubRequest)は正常に機能します。次のステップ(AuthSubSessionToken)は、使い捨てトークンをセッショントークンにアップグレードすることです。Python API呼び出しUpgradeToSessionToken()が機能しなかったため、NonAuthSubToken例外が発生しました。
gd_client = gdata.contacts.service.ContactsService()
gd_client.auth_token = authsub_token
gd_client.UpgradeToSessionToken()
別の方法として、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)
これにより、別のエラーが発生します。
HTTPエラー302:HTTPサーバーがリダイレクトエラーを返しました。これにより、無限ループが発生します。最後の30xエラーメッセージは次のとおりです。一時的に移動しました
私はここで何が間違っているのですか?Python API呼び出し(UpgradeToSessionToken)またはurllib2を使用して手動でHTTPリクエストを作成する方法のいずれかを使用して、ヘルプ/アドバイス/提案をいただければ幸いです。