gpt4 book ai didi

django - 调用者在使用 GMail API 时没有权限错误

转载 作者:行者123 更新时间:2023-12-03 15:12:58 26 4
gpt4 key购买 nike

我在 Google App Engine 上运行的 django 网站上出现 500 服务器错误。当我查看 Google App Engine 日志时,我看到以下错误:googleapiclient.errors.HttpError: <HttpError 403 when requesting https://www.googleapis.com/discovery/v1/apis/gmail/v1/rest returned "The caller does not have permission">当我硬刷新浏览器时,此错误消失。然后过了一段时间它又弹回来了。发生在移动设备(firefox、safari)、笔记本电脑(firefox、chrome)上。
更新:
在 Django settings.py 中,我有以下代码。它的最后一行生成错误:

pickle_path = 'token.pickle'  # path to token.pickle
with open(pickle_path, 'rb') as token:
creds = pickle.load(token)
SERVICE = build('gmail', 'v1', credentials=creds) # ERROR LINE
当我在本地运行 django 服务器时:出现以下错误:
googleapiclient.errors.HttpError: <HttpError 403 when requesting https://www.googleapis.com/discovery/v1/apis/gmail/v1/rest returned "The caller does not have permission">
当我从终端重新启动 cloud sql 连接时 - 错误消失了。直到几天前,这种情况从未发生过。

最佳答案

这是一个解决方法:

  • 直接从谷歌下载discovery_doc here
  • 加载 json 文件(您可以将其命名为 gmail-api.json )
  • 使用 build_from_document 从这个 json 文件构建

  • 之前
        from googleapiclient.discovery import build

    gmail_creds = get_service_account_creds()
    gmail_service = build('gmail', 'v1', credentials=gmail_creds)

        from googleapiclient.discovery import build_from_document

    discovery_doc = load_json('config/gmail-api.json')
    gmail_creds = get_service_account_creds()

    gmail_service = build_from_document(discovery_doc, credentials=gmail_creds)

    似乎它现在是 Google 的 P0,所以希望它会尽快修复。
    https://issuetracker.google.com/issues/160441983

    关于django - 调用者在使用 GMail API 时没有权限错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62749031/

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