Ich habe einen Engine-App Google App - http://mylovelyapp.appspot.com/ Es eine Seite hat - mylovelypageWie greifen Sie über einen (nicht webbasierten) Python-Client auf einen authentifizierten Google App Engine-Dienst zu?
Im Moment funktioniert die Seite nur self.response.out.write('OK')
Wenn ich den folgenden Python an meinem Computer laufen:
import urllib2
f = urllib2.urlopen("http://mylovelyapp.appspot.com/mylovelypage")
s = f.read()
print s
f.close()
druckt "OK"
das Problem ist, wenn ich login:required
auf dieser Seite in der yaml App hinzufügen
dann druckt das HTML der Login-Seite für Google-Konten
Ich habe "normale" Authentifizierungsmethoden ausprobiert. z.B.
passman = urllib2.HTTPPasswordMgrWithDefaultRealm()
auth_handler = urllib2.HTTPBasicAuthHandler()
auth_handler.add_password(None,
uri='http://mylovelyapp.appspot.com/mylovelypage',
user='[email protected]',
passwd='billybobspasswd')
opener = urllib2.build_opener(auth_handler)
urllib2.install_opener(opener)
Aber es macht keinen Unterschied - ich bekomme immer noch das HTML der Anmeldeseite zurück.
Ich habe versucht Google's ClientLogin auth API, aber ich kann es nicht zur Arbeit bekommen.
h = httplib2.Http()
auth_uri = 'https://www.google.com/accounts/ClientLogin'
headers = {'Content-Type': 'application/x-www-form-urlencoded'}
myrequest = "Email=%s&Passwd=%s&service=ah&source=DALELANE-0.0" % ("[email protected]", "billybobspassword")
response, content = h.request(auth_uri, 'POST', body=myrequest, headers=headers)
if response['status'] == '200':
authtok = re.search('Auth=(\S*)', content).group(1)
headers = {}
headers['Authorization'] = 'GoogleLogin auth=%s' % authtok.strip()
headers['Content-Length'] = '0'
response, content = h.request("http://mylovelyapp.appspot.com/mylovelypage",
'POST',
body="",
headers=headers)
while response['status'] == "302":
response, content = h.request(response['location'], 'POST', body="", headers=headers)
print content
Ich scheine richtig etwas Token in der Lage sein zu bekommen, aber versucht es im Header zu verwenden, wenn ich ‚mylovelypage‘ rufen immer noch zurückkehren mich nur die HTML-Login-Seite. :-(
jemand helfen kann, bitte?
Kann ich die GData client library verwende diese Art der Sache zu tun? Von was ich gelesen habe, denke ich, es sollte in der Lage App Engine-Anwendungen zugreifen zu können, aber ich war nicht mehr erfolgreich bei der Authentifizierung für App Engine Sachen dort entweder
Irgendwelche Hinweise auf Proben, Artikel oder auch nur Keywords Ich sollte suchen, um mich zu starten, wäre sehr viel geschätzt
Vielen Dank!
Ich war soweit, einen Authtoken zu bekommen, aber ich habe es nicht versucht, um einen Keks zu bekommen - vielen Dank für den Zeiger! – dalelane
Ich habe die Quelle in einer neuen "Antwort" unten - danke wieder – dalelane
Links sind gebrochen ("_GetAuthToken", "_GetAuhtcookie", etc.) – dfrankow