gpt4 book ai didi

python - client_secrets.json 文件部署到 GAE 后将无法读取

转载 作者:行者123 更新时间:2023-12-01 05:43:40 25 4
gpt4 key购买 nike

我有一个可以在我的计算机上使用 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 的脚本的页面时,我收到错误:服务器错误,以下是实例日志显示的内容(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"

以下是 myapp.py第 41 行和 42 行:

decorator = OAuth2DecoratorFromClientSecrets(CLIENT_SECRETS,
YOUTUBE_READ_WRITE_SCOPE)

这是CLIENT_SECRETS:

CLIENT_SECRETS = os.path.join(os.path.dirname(__file__), 'client_secrets.json')

我做错了什么?

编辑:#appengine 上的 murph 提到这可能来自不正确的 app.yaml 配置,我应该“确保它不在 中” app.yaml 被用作静态文件,并确保您自己的任何代码都不会决定提供它”,但即使删除该文件的所有静态处理程序后,问题仍然存在。这是 pastebin to my app.yaml 。谈到这一点,我注意到如果我离开 client_secrets.json 并部署,我会看到“克隆 6 个静态文件”。然后,如果我删除它并重新部署,我会看到“克隆 5 个静态文件”。这是否确认我的 app.yaml 中仍然存在与 client_secrets.json 匹配的内容,或者这些是单独的机制?

最佳答案

是的,匹配上的“js”

- url: /(.*\.(gif|png|jpg|css|js|ico))
static_files: \1
upload: (.*\.(gif|png|jpg|css|js|ico))

试试这个

- url: /(.*\.(gif|png|jpg|css|js|ico)$)
static_files: \1
upload: (.*\.(gif|png|jpg|css|js|ico)$)

关于python - client_secrets.json 文件部署到 GAE 后将无法读取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16822194/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com