dev_appserver.py
私のマシンで使用するアプリがあります。私はそれを正常に展開します:
ronj@l:~$ appcfg.py update myapp/
03:03 PM Host: appengine.google.com
03:03 PM Application: myapp; version: 1
...
03:03 PM Completed update of app: myapp, version: 1
私のアプリは Google API を使用しているため、このデプロイにはclient_secrets.json
プロジェクト フォルダーのルートにあるファイルが含まれています。そして、アプリを再ダウンロードするときに( を使用してappcfg.py download_app -A myapp -V 1 ~/myapp
)取得するため、正しく展開されているようです。
ただし、 へのアクセスが必要なスクリプトを呼び出すページを開くと、 が表示されclient_secrets.json
、Error: Server Error
インスタンス ログに次のように表示されます (myapp と MYID は検閲されています)。
Traceback (most recent call last):
File "/python27_runtime/python27_lib/versions/1/google/appengine/runtime/wsgi.py", line 196, in Handle
handler = _config_handle.add_wsgi_middleware(self._LoadHandler())
File "/python27_runtime/python27_lib/versions/1/google/appengine/runtime/wsgi.py", line 255, in _LoadHandler
handler = __import__(path[0])
File "/base/data/home/apps/s~myapp/1.MYID/myapp.py", line 42, in <module>
YOUTUBE_READ_WRITE_SCOPE)
File "/base/data/home/apps/s~myapp/1.MYID/oauth2client/util.py", line 128, in positional_wrapper
return wrapped(*args, **kwargs)
File "/base/data/home/apps/s~myapp/1.MYID/oauth2client/appengine.py", line 854, in __init__
client_type, client_info = clientsecrets.loadfile(filename, cache=cache)
File "/base/data/home/apps/s~myapp/1.MYID/oauth2client/clientsecrets.py", line 145, in loadfile
return _loadfile(filename)
File "/base/data/home/apps/s~myapp/1.MYID/oauth2client/clientsecrets.py", line 107, in _loadfile
raise InvalidClientSecretsError('File not found: "%s"' % filename)
InvalidClientSecretsError: File not found: "/base/data/home/apps/s~myapp/1.MYID/client_secrets.json"
の 41 行目と 42 行目は次のmyapp.py
とおりです。
decorator = OAuth2DecoratorFromClientSecrets(CLIENT_SECRETS,
YOUTUBE_READ_WRITE_SCOPE)
そしてここにありますCLIENT_SECRETS
:
CLIENT_SECRETS = os.path.join(os.path.dirname(__file__), 'client_secrets.json')
私は何を間違っていますか?
EDIT : #appengine のマーフは、それは不適切なapp.yaml
構成に起因する可能性があると述べており、「静的ファイルとして提供されていないことを確認し、独自のコードがそれを提供することを決定していないことを確認してください」app.yaml
と述べていますが、そのファイルへのすべての静的ハンドラーを削除した後、問題は解決しません。これが私の app.yaml へのペーストビンです。そういえば、client_secrets.json を残してデプロイすると、"Cloning 6 static files"が表示されることに気付きました。次に、それを削除して再デプロイすると、「Cloning 5 static files」が表示されます。app.yaml
それは、 myに一致するものがまだあることを確認していますかclient_secrets.json
、それともこれらの別のメカニズムですか?