gpt4 book ai didi

javascript - 从 Gmail API 批量获取超过 10,000 封电子邮件的电子邮件发件人

转载 作者:行者123 更新时间:2023-12-03 02:17:28 24 4
gpt4 key购买 nike

我正在制作一个与 Gmail API 交互的 Chrome 扩展程序。基本上它需要从与某些关键字匹配的电子邮件中提取电子邮件发件人。问题是有时有超过 10K 封电子邮件与此关键字匹配。我利用gapi.client.gmail.users.messages.list获取与输入的关键字匹配的所有电子邮件,但这仅返回电子邮件和线程 ID,因此我需要调用 gapi.client.gmail.users.messages.get对于从 messages.list 检索到的每个电子邮件 ID 。因此,对 Gmail API 的请求超过 10K,我遇到了 ERR_INSUFFICIENT_RESOURCES Chrome 中的错误。为了防止出现此错误,我在调用 messages.get 之间设置了一些超时。但随后需要很长时间才能完成......

是否有一些推荐的方法可以从 Gmail API 获取这么多电子邮件?

最佳答案

根据documentation ,提高性能的一种方法是对请求进行批处理。目前每批的请求数限制为 100 个,但请求数仍然减少了 100 倍。

编辑:您还可以在查询中使用 fields 参数来请求消息中所需的字段,因为 messages.listmessages.get可以返回一个整体users.messages Resource .

例如:

var xhr = new XMLHttpRequest;
xhr.onload = () => {
var resp = JSON.parse(xhr.response);
var wholeFirstMessage = atob(resp.messages[0].raw);
console.log(wholeFirstMessage);
};
xhr.open("GET", "https://www.googleapis.com/gmail/v1/users/userId/messages?fields=messages(id,threadId,raw)");
xhr.send();

注意:为了简单起见,上面的代码示例忽略了 XHR 参数中的 pageTokenmaxResults。一长串消息将需要这些参数。

关于javascript - 从 Gmail API 批量获取超过 10,000 封电子邮件的电子邮件发件人,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49314882/

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