【发布时间】:2015-09-14 14:27:41
【问题描述】:
从今天开始,我一直在使用remote_api (python) 来访问 GAE 上的数据存储区。
我通常是remote_api_shell.py -s <mydomain>。
今天试了,失败了,错误是:
oauth2client.client.ApplicationDefaultCredentialsError: 应用程序默认凭据不可用。它们可用 如果在 Google Compute Engine 中运行。否则,环境 变量 GOOGLE_APPLICATION_CREDENTIALS 必须定义为指向 定义凭据的文件。看 https://developers.google.com/accounts/docs/application-default-credentials 了解更多信息。
我不明白它为什么会这样问我。
wole 输出是这样的
stefano@~/gc$ remote_api_shell.py -s ....
Traceback (most recent call last):
File "/usr/local/bin/remote_api_shell.py", line 133, in <module>
run_file(__file__, globals())
File "/usr/local/bin/remote_api_shell.py", line 129, in run_file
execfile(_PATHS.script_file(script_name), globals_)
File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/tools/remote_api_shell.py", line 157, in <module>
main(sys.argv)
File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/tools/remote_api_shell.py", line 153, in main
appengine_rpc.HttpRpcServer)
File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/tools/remote_api_shell.py", line 74, in remote_api_shell
secure=secure)
File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/ext/remote_api/remote_api_stub.py", line 734, in ConfigureRemoteApiForOAuth
credentials = client.GoogleCredentials.get_application_default()
File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/lib/oauth2client/oauth2client/client.py", line 1204, in get_application_default
return GoogleCredentials._get_implicit_credentials()
File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/lib/oauth2client/oauth2client/client.py", line 1194, in _get_implicit_credentials
raise ApplicationDefaultCredentialsError(ADC_HELP_MSG)
oauth2client.client.ApplicationDefaultCredentialsError: The Application Default Credentials are not available. They are available if running in Google Compute Engine. Otherwise, the environment variable GOOGLE_APPLICATION_CREDENTIALS must be defined pointing to a file defining the credentials. See https://developers.google.com/accounts/docs/application-default-credentials for more information.
【问题讨论】:
标签: python google-app-engine google-cloud-datastore