Jak poprawnie zdefiniować oauth2callback GAE?
TheKorzystanie z GAE / dekoratorów przewodnik mi to mówi„musisz dodać konkretną procedurę obsługi adresu URL do aplikacji, aby obsłużyć przekierowanie z serwera autoryzacji z powrotem do aplikacji”:
def main():
application = webapp.WSGIApplication(
[
('/', MainHandler),
('/about', AboutHandler),
(decorator.callback_path, decorator.callback_handler()),
],
debug=True)
run_wsgi_app(application)
Obecnie nie jestem w stanie prawidłowo tego ustawić. W rezultacie otrzymuję i widzę odpowiedź zwrotną HTTP 302 (gdy powinna zostać przechwycona przez procedurę obsługi) zamiast oczekiwanej odpowiedzi. Mam dwa pytania do rozwiązania:
Theoauth2client/appengine.py
wysyłka w GAE 1.8.0 nie macallback_path
atrybut i niecallback_handler()
metoda, co powinniśmy zrobić? Bezpośrednie wiązanie('/oauth2callback', OAuth2Handler)
zamiast(decorator.callback_path, decorator.callback_handler())
?Co to oznaczamyapp.yaml
? Czy dobrze jest zadeklarować nowy blok, taki jak:- url: /oauth2callback script: oauth2client/appengine.py
Dzięki za pomoc! Oto mój obecny kod:
myapp.py
class UpdatePage(webapp2.RequestHandler):
def get(self):
playlist_id = self.youtube_create_playlist()
...
@decorator.oauth_required
def youtube_create_playlist(self):
http = decorator.http()
request = youtube.playlists().insert(...)
response = request.execute(http=http)
return response["id"]
...
update = webapp2.WSGIApplication([
('/update', UpdatePage),
('/oauth2callback', OAuth2Handler)
],
debug=True)
app.yaml
application: myapp
version: 1
runtime: python27
api_version: 1
threadsafe: false
handlers:
- url: /
static_files: index.html
upload: index.html
- url: /oauth2callback
script: oauth2client/appengine.py
- url: /update
script: myapp.update