2009-03-30 25 views
6

मैं Google संपर्क डेटा API का उपयोग करके Google संपर्क से डेटा पुनर्प्राप्त करने के लिए अपना Django ऐप (Google ऐप इंजन का उपयोग नहीं कर रहा हूं) प्राप्त करने का प्रयास कर रहा हूं। authentication documentation के साथ-साथ Data API Python client docsGoogle डेटा एपीआई प्रमाणीकरण

पहला चरण (AuthSubRequest) जो एकल-उपयोग टोकन प्राप्त कर रहा है ठीक काम करता है। अगला चरण (AuthSubSessionToken), जो एक सत्र टोकन में सिंगल-उपयोग टोकन को अपग्रेड कर रहा है। अजगर API कॉल UpgradeToSessionToken() बस मेरे लिए काम नहीं किया यह मेरे NonAuthSubToken अपवाद दिया:

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) 
:

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

एक वैकल्पिक मैं इसे "मैन्युअल" के निर्माण HTTP अनुरोध से काम करना चाहते हैं के रूप में

यह मुझे एक अलग त्रुटि देता है:

HTTP त्रुटि 302: HTTP सर्वर ने एक रीडायरेक्ट त्रुटि लौटा दी जो एक अनंत लूप का कारण बन जाएगी। अंतिम 30x त्रुटि संदेश था: अस्थायी रूप से

मैं यहां क्या गलत कर रहा हूं? मैं उन तरीकों के साथ सहायता/सलाह/सुझावों की सराहना करता हूं जिन्हें मैं उपयोग करने का प्रयास कर रहा हूं: पायथन एपीआई कॉल (अपग्रेड टॉइसशन टोकन) या मैन्युअल रूप से urllib2 के साथ HTTP अनुरोध का निर्माण।

उत्तर

4

2.0 प्रलेखन here वहाँ एक अजगर उदाहरण सेट है के अनुसार ...

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

प्रमाणीकरण के चार अलग-अलग तरीके हैं। क्या आपके लिए एथसब का उपयोग करना वाकई महत्वपूर्ण है? यदि आप AuthSub को काम करने के लिए नहीं मिल पा रहे हैं, तो ClientLogin दृष्टिकोण पर विचार करें। मुझे काम करने में कोई परेशानी नहीं थी।

+0

पर आज़मा दूंगा क्यों नजदीकी वोट यहां है? – Preeti

संबंधित मुद्दे