Я следую за this учебным пособием, чтобы узнать, как получить логин OAuth2.0 на моем сайте, и у меня возникли некоторые проблемы. Мой сайт зарегистрирован в GAE, и у меня есть мой идентификатор клиента. Я также pip install
ed google-api-python-client
. Однако я не знаю, что импортировать в мой проект. У меня две страницы в моем приложении. Один, который обрабатывает авторизацию, и тот, который на самом деле имеет страницу.Что такое «импорт» для GAE OAuth2.0?
authorize.py
import cgi, webapp2
from google.appengine.api import users
LOGIN_PAGE_HTML="""\
<html>
<body>
<input type="submit" method="post" action="/AuthorizeUser"/>
</body>
</html>
"""
class LoginPage(webapp2.RequestHandler):
def get(self):
self.response.write(LOGIN_PAGE_HTML)
class AuthorizeUser(webapp2.RequestHandler):
def post(self):
state = ''.join(random.choice(string.ascii_uppercase + string.digits)for x in xrange(32))
session['state'] = state
response = make_response('/LandingPage',
CLIENT_ID='MY ID',
STATE=state
APPLICATION_NAME='Summit Tech Help'))
if request.args.get('state','') != session['state']:
response = make_response(json.dumps('Invalid state parameter.'), 401)
response.headers['Content-Type'] = 'application/json'
return response
application = webapp2.WSGIApplication([
('/',LoginPage),
('/AuthorizeUser',AuthorizeUser),
], debug=True)
landing.py
import cgi, webapp2
from google.appengine.api import mail
LANDING_PAGE_HTML="""\
<html>
<body>
<p>test</p>
</body>
</html>
"""
class LandingPage(webapp2.RequestHandler):
def get(self):
self.response.write(LANDING_PAGE_HTML)
application = webapp2.WSGIApplication([
('LandingPage',LandingPage),
],debug=True)
Мои app.yaml
имеет '-url: /.*' установлен script:authorize.application
Любая помощь будет высоко ценится!
~ Carpetfizz
Вы пытаетесь добавить стороннюю библиотеку (OAuth2.0) в Appengine. Может быть, ответы на эти вопросы могут помочь. http://stackoverflow.com/questions/4863557/how-do-i-manage-third-party-python-libraries-with-google-app-engine-virtualenv – Jayesh