J'essaie de faire en sorte que mon application Django (n'utilisant PAS le moteur de l'application Google) récupère des données de Google Contacts à l'aide de l'API Google Data Data. En passant par authentication documentation ainsi que Data API Python client docsAuthentification de l'API Google Data
La première étape (AuthSubRequest) qui obtient le jeton à usage unique fonctionne correctement. L'étape suivante (AuthSubSessionToken), qui est la mise à niveau du jeton à usage unique vers 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 « manuellement » en construisant 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 erreur différente:
Erreur HTTP 302: Le serveur HTTP a renvoyé une erreur de redirection qui conduirait à une boucle infinie. Le dernier message d'erreur 30x était: Déplacé temporairement
Qu'est-ce que je fais mal ici? J'apprécierais l'aide/le conseil/les suggestions avec l'une ou l'autre des méthodes que j'essaie d'utiliser: l'appel de l'API Python (UpgradeToSessionToken) ou la construction manuelle de la requête HTTP avec urllib2.
Je vous remercie pour votre suggestion, je vais essayer –