Как правильно определить GAE oauth2callback?

Использование GAE / Декораторы гид говорит мне, чтовам нужно добавить определенный обработчик URL в ваше приложение для обработки перенаправления с сервера авторизации обратно в ваше приложение ":

  def main():
    application = webapp.WSGIApplication(
       [
         ('/', MainHandler),
         ('/about', AboutHandler),
         (decorator.callback_path, decorator.callback_handler()),
       ],
       debug=True)
    run_wsgi_app(application)

В настоящее время я не могу правильно настроить это. В результате я получаю и вижу ответ обратного вызова HTTP 302 (хотя он должен быть перехвачен обработчиком) вместо ответа I 'Я ожидаю. У меня есть два вопроса для решения этого:

oauth2client/appengine.py доставка в GAE 1.8.0 не имеетcallback_path атрибут и нетcallback_handler() метод, что мы должны делать? Напрямую связывать('/oauth2callback', OAuth2Handler) вместо ?(decorator.callback_path, decorator.callback_handler())Что это значит дляmyapp.yaml? Правильно ли объявить новый блок как:
- url: /oauth2callback
  script: oauth2client/appengine.py

Спасибо за вашу помощь! Вот мой текущий код:

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

Ответы на вопрос(1)

Ваш ответ на вопрос