Wie können Sie einen authentifizierten Google App Engine-Dienst von einem Python-Client (Nicht-Web) zugreifen?Python

Python-Programme
Anonymous
 Wie können Sie einen authentifizierten Google App Engine-Dienst von einem Python-Client (Nicht-Web) zugreifen?

Post by Anonymous »

Ich habe eine Google App Engine -App - http://mylovelyapp.appspot.com/
Es hat eine Seite - mylovelyPage

Für den Moment macht die Seite nur self.Response.write ('OK')

import urllib2
f = urllib2.urlopen("http://mylovelyapp.appspot.com/mylovelypage")
s = f.read()
print s
f.close()
< /code>

Es druckt "OK" < /p>

Das Problem ist, wenn ich auf dieser Seite einen Anmeldung hinzufüge: Erforderlich < /code> Auf der yaml < /p>

Die HTML -Normal -Login -Seite des Apps. Ansätze. z. B. < /p>

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)
< /code>

, aber es macht keinen Unterschied - ich erhalte immer noch die HTML der Anmeldeseite zurück.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
< /code>

Ich scheine in der Lage zu sein, ein Token richtig zu bekommen, versucht aber, es im Header zu verwenden, wenn ich 'mylovelypage' nenne, gibt mir immer noch nur die HTML der Anmeldeseite zurück. :-( < /p>

Kann jemand helfen, bitte? Zeiger auf Beispiele, Artikel oder sogar nur Schlüsselwörter. Ich sollte
suchen, um mich anzufangen, wäre sehr geschätzt.>

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post