Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/360.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 一旦部署到GAE,client_secrets.json文件就无法读取_Python_Google App Engine_Google Api_Google Api Python Client - Fatal编程技术网

Python 一旦部署到GAE,client_secrets.json文件就无法读取

Python 一旦部署到GAE,client_secrets.json文件就无法读取,python,google-app-engine,google-api,google-api-python-client,Python,Google App Engine,Google Api,Google Api Python Client,我有一个应用程序,在我的机器上使用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_secr

我有一个应用程序,在我的机器上使用
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\u app-A myapp-V 1~/myapp

但是,当打开一个调用需要访问
client_secrets.json
的脚本的页面时,我得到了一个
错误:服务器错误
,下面是实例日志显示的内容(myapp和MYID已被审查):

这里是客户的秘密:

decorator = OAuth2DecoratorFromClientSecrets(CLIENT_SECRETS,
    YOUTUBE_READ_WRITE_SCOPE)
CLIENT_SECRETS = os.path.join(os.path.dirname(__file__), 'client_secrets.json')
我做错了什么

EDIT:murph on#appengine提到,这可能来自不正确的
app.yaml
配置,我应该“确保它不在
app.yaml
中作为静态文件使用,并确保您自己的任何代码都不会决定使用它”,但即使删除该文件的所有静态处理程序,问题依然存在。这是一个例子。说到这里,我注意到如果我离开client_secrets.json并部署,我会看到“克隆6个静态文件”。然后,如果我删除它并重新部署,我会看到“克隆5个静态文件”。这是否证实了我的
app.yaml
中仍然存在与
client\u 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)$)

秘密就在你的根里;您是否尝试过:decorator=OAuth2DecoratorFromClientSecrets('client\u secrets.json',YOUTUBE\u READ\u WRITE\u SCOPE)@voscausa是的,我尝试过,相同的错误:-/。注意,我刚刚在我的原始帖子的末尾做了一个编辑,这给了你其他的想法吗?谢谢对你赢了我今天的(满是灰尘的)regexp帽子:),谢谢!通常,您应该尝试将静态资产与要从文件系统访问的代码/内容分开。这样就不会与静态资源的正则表达式发生奇怪的冲突。
- url: /(.*\.(gif|png|jpg|css|js|ico)$)
  static_files: \1
  upload: (.*\.(gif|png|jpg|css|js|ico)$)