【问题标题】:Gmail Label API returns unspecified 500 error for certain threadsGmail 标签 API 为某些线程返回未指定的 500 错误
【发布时间】:2016-03-30 22:13:09
【问题描述】:

我正在使用 Python 客户端库通过 Gmail API 更新标签,使用以下代码行:

thread = service.users().threads().modify(userId='me', id=thread_id, body=msg_labels).execute(http=http)

这适用于大多数线程,但对于某些线程,它会不断返回 500 后端错误而没有任何说明。 “thread_id”和“msg_labels”的值是正确的,我已经检查了三次。如前所述,它通过同一行代码适用于其他线程。什么可能导致此错误?

【问题讨论】:

  • 500 是一个泛滥的错误,您将快速降低代码速度并再次运行相同的请求。
  • 这发生在 5 次重试后,中间有随机 nr 秒的等待时间,总是在同一个线程上。
  • 我相信您每秒最多可以发出 10 个请求。如果您的代码出现此错误,请暂停一秒钟,然后再次运行相同的请求。研究实施指数退避。
  • 我实现了指数退避。此外,它运行在一个每秒只允许 10 个请求的任务队列中,并且总是发生在同一个线程上。问题一定是别的。
  • 接下来的步骤是检查有问题的线程并确定它们是否有独特之处。它们可能是聊天消息吗?任何其他你可以识别为这些线程独有的东西(可能都有特定的标签?)

标签: python gmail-api


【解决方案1】:

结果出于某种原因,我的代码试图编写一个不存在的标签 ID。不知道这是怎么发生的,因为 ID 是直接从 Gmail 中检索的,而我自己并没有删除它。不过它解决了这个问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-09-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-26
    • 1970-01-01
    • 2021-08-12
    • 1970-01-01
    相关资源
    最近更新 更多