2009-03-30 15 views
6

Djangoアプリ(Googleアプリエンジンを使用しない)を取得しようとしていますが、GoogleコンタクトデータAPIを使用してGoogleコンタクトからデータを取得しています。 authentication documentationと同様にData API Python client docsGoogle Data API認証

使い捨てトークンを取得している最初のステップ(AuthSubRequest)は正常に動作します。次のステップ(AuthSubSessionToken)。セッショントークンへの単一使用トークンのアップグレードです。

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リクエストを構築する「手動」で働いて取得したいの代替として

gd_client = gdata.contacts.service.ContactsService() 
gd_client.auth_token = authsub_token 
gd_client.UpgradeToSessionToken() 

:PythonのAPIは、単にそれは私にNonAuthSubToken例外を与えた私のために動作しませんでしたUpgradeToSessionToken()を呼び出し

これは私に別のエラーを返します:

HTTPエラー302:HTTPサーバーは、無限ループにつながるリダイレクトエラーを返しました。最後に30回エラーメッセージが表示されました:一時的に移動しました

ここで何が間違っていますか? Python APIコール(UpgradeToSessionToken)またはurllib2でHTTPリクエストを手動で作成する方法のいずれかを使用して、ヘルプ/アドバイス/提案を感謝します。

答えて

4

2.0ドキュメントhereによるPythonの例のセットがある...

Running the sample code

A full working sample client, containing all the sample code shown in this document, is available in the Python client library distribution, under the directory samples/contacts/contacts_example.py .

The sample client performs several operations on contacts to demonstrate the use of the Contacts Data API.

うまくいけば、それは正しい方向にあなたを指します。

1

私は最近同様の問題がありました。鉱山は「安全」を「真」に設定することで修正されました。

next = 'http://www.coolcalendarsite.com/welcome.pyc' 
    scope = 'http://www.google.com/calendar/feeds/' 
    secure = True 
    session = True 
    calendar_service = gdata.calendar.service.CalendarService() 
+0

あなたの提案をありがとう、私はそれを試してみましょう –

1

認証する4つの方法があります。 AuthSubを使用することが本当に重要なのですか? AuthSubを動作させることができない場合は、ClientLoginというアプローチを検討してください。私はそれを動かすことに何の問題もなかった。

+0

なぜここに否定的な投票があるのですか? – Preeti

関連する問題