Question

Je suis en train de faire mon application Django (pas en utilisant le moteur Google app) récupérer les données de Google Contacts via Google Contacts API de données. En passant par ainsi que Data API docs client Python

Première étape (AuthSubRequest) qui devient le jeton à usage unique fonctionne très bien. L'étape suivante (AuthSubSessionToken), qui est mise à niveau jeton à usage unique à un jeton de session. L'appel API python UpgradeToSessionToken () ne fonctionnait tout simplement pas pour moi, il m'a donné exception NonAuthSubToken:

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

Comme alternative, je veux le faire fonctionner par « manuellement » la construction de la requête 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)

cela me donne une autre erreur:

Erreur HTTP 302: Le serveur HTTP a renvoyé une erreur de redirection qui conduirait à une boucle infinie. Le dernier message d'erreur a été 30x: Déplacé temporairement

Qu'est-ce que je fais mal ici? Je vous remercie de l'aide / conseil / suggestions ou l'autre des méthodes que je suis en train d'utiliser. Python appel API (UpgradeToSessionToken) ou la construction manuelle requête HTTP avec urllib2

Était-ce utile?

La solution

D'après la documentation 2.0 ici là est un exemple de python ... défini

  

L'exécution du code exemple

     

Un échantillon de travail client complet, contenant tout le code exemple affiché dans le présent document, est disponible dans la distribution de la bibliothèque cliente Python, sous le samples/contacts/contacts_example.py répertoire.

     

Le client exemple effectue plusieurs opérations sur les contacts pour démontrer l'utilisation de l'API Contacts de données.

Espérons que vous diriger dans la bonne direction.

Autres conseils

J'ai eu un problème similaire récemment. Mine glissai en fixant "secure" à "true".

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

Il existe quatre méthodes d'authentification. Est-ce vraiment important pour vous d'utiliser AuthSub? Si vous ne pouvez pas obtenir AuthSub à travailler, puis envisager le ClientLogin approche. Je n'avais pas du mal à obtenir que pour travailler.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top