Ich versuche, meine Django-App (NICHT mit der Google App-Engine) abrufen Daten aus Google Kontakte mit Google Kontakte Daten-API. Geht man durch authentication documentation sowie Data API Python client docsGoogle-Daten-API-Authentifizierung
Erste Schritt (AuthSubRequest), die das Einweg-Token funktioniert gut funktioniert. Der nächste Schritt (AuthSubSessionToken), bei dem ein einmal verwendbares Token auf ein Sitzungstoken aktualisiert wird. Der Python-API-Aufruf UpgradeToSessionToken() einfach nicht für mich arbeiten, um es gab mir NonAuthSubToken Ausnahme:
gd_client = gdata.contacts.service.ContactsService()
gd_client.auth_token = authsub_token
gd_client.UpgradeToSessionToken()
Als Alternative ich möchte es zum Laufen zu bringen, indem „manuell“ Konstruktion der HTTP-Anforderung:
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)
Dies gibt mir einen anderen Fehler:
HTTP-Fehler 302: Der HTTP-Server zurückgegeben einen Umleitungsfehler, der zu einer Endlosschleife führen würde. Die letzte 30x Fehlermeldung war: Vorübergehend verschoben
Was mache ich hier falsch? Ich würde mich über Hilfe/Ratschläge/Vorschläge mit einer der Methoden freuen, die ich versuche zu verwenden: Python-API-Aufruf (UpgradeToSessionToken) oder manuelle Erstellung einer HTTP-Anfrage mit urllib2.
Vielen Dank für Ihren Vorschlag, ich werde es versuchen –