Google API:Url不匹配:flow.redirect\u uri被忽略 环境详情 操作系统类型和版本:Ubuntu 18.10 Python版本:Python 3.8.6 pip版本:来自python 3.8的pip 9.0.2 谷歌api python客户端版本:1.12.3 复制步骤 从中复制代码 使用下面的代码获取凭据 将你的应用部署到Heroku 登录谷歌控制台。注册你的应用程序。设置重定向url,使其与Heroku应用程序的url匹配。我用https://...。除此之外,我还添加了http://localhost。两个url都没有尾随斜杠,也没有端口号 运行应用程序。它将产生错误 代码示例

Google API:Url不匹配:flow.redirect\u uri被忽略 环境详情 操作系统类型和版本:Ubuntu 18.10 Python版本:Python 3.8.6 pip版本:来自python 3.8的pip 9.0.2 谷歌api python客户端版本:1.12.3 复制步骤 从中复制代码 使用下面的代码获取凭据 将你的应用部署到Heroku 登录谷歌控制台。注册你的应用程序。设置重定向url,使其与Heroku应用程序的url匹配。我用https://...。除此之外,我还添加了http://localhost。两个url都没有尾随斜杠,也没有端口号 运行应用程序。它将产生错误 代码示例,python,heroku,google-cloud-platform,oauth-2.0,google-api,Python,Heroku,Google Cloud Platform,Oauth 2.0,Google Api,像这样使用它: creds = get_creds(['https://www.googleapis.com/auth/contacts']) service = build('people', 'v1', credentials=creds) REDIRECT\u URL设置为Heroku应用程序URL,以https:///开头,后面没有斜杠。我还在Python控制台中测试了它: >>> import os >>> os.environ[

像这样使用它:

    creds = get_creds(['https://www.googleapis.com/auth/contacts'])

    service = build('people', 'v1', credentials=creds)
REDIRECT\u URL
设置为Heroku应用程序URL,以https:///开头,后面没有斜杠。我还在Python控制台中测试了它:

>>> import os
>>> os.environ['REDIRECT_URL']
堆栈跟踪 浏览器输出(没有控制台堆栈跟踪):

我认为:

flow.redirect\u uri=os.environ['redirect\u URL']

实际上并没有改变

我试过什么:
  • ,我仔细检查了正确的URL。我还添加了带有
    https
    和尾部斜杠的URL

我发现接受的答案表也存在类似的问题

在以下行中: creds=flow.运行本地服务器(端口=0)


尝试端口8080而不是0,然后检查结果。

这不起作用。Heroku不公开任何端口,因此不会有任何区别
>>> import os
>>> os.environ['REDIRECT_URL']
400: redirect_uri_mismatch
The redirect URI in the request, http://localhost:33779/, does not match the ones authorized for the OAuth client. To update the authorized redirect URIs, visit: https://console.developers.google.com/apis/credentials/oauthclient/${your_client_id}?project=${your_project_number}