ユーザーがGoogleアカウントのユーザーAPIを使用してアプリケーションにログインしていない場合、GoogleAppEngineでセッショントークンをアップグレードできません。ユーザーが現在ログインしている場合は、完全に機能します。
そうでない場合、私はこのエラーが発生しています:
Traceback (most recent call last):
File "/base/python_runtime/python_lib/versions/1/google/appengine/ext/webapp/__init__.py", line 511, in __call__
handler.get(*groups)
File "/base/data/home/apps/5th-anniversary/1.341853888797531127/main.py", line 78, in get
u.upgradeToken(self)
File "/base/data/home/apps/5th-anniversary/1.341853888797531127/upload.py", line 47, in upgradeToken
client.UpgradeToSessionToken()
File "/base/data/home/apps/5th-anniversary/1.341853888797531127/gdata/service.py", line 903, in UpgradeToSessionToken
raise NonAuthSubToken
NonAuthSubToken
ここでの私の最良の選択肢は何ですか?ユーザーが動画をアップロードするためにGoogleアカウントAPIにログインしてからYouTubeサイトにログインする必要はありません。
トークンを更新するための私の方法は次のとおりです。
def upgradeToken(data,self):
get = self.request.GET
authsub_token = get['token']
gdata.alt.appengine.run_on_appengine(client)
client.SetAuthSubToken(authsub_token)
client.UpgradeToSessionToken()
クライアントは単純ですclient = gdata.youtube.service.YouTubeService()
認証側で何かが足りないのは確かですが、何がわからないようです、ありがとう!