我有一个Node.js应用程序,该应用程序检索大量用户(200.000+)的电子邮件线程。我正在使用Node.js client library
。
我使用JWT和在用户方具有域范围委派的服务帐户分别对每个用户进行身份验证,然后按如下所示调用threads.list
端点:
const { google } = require('googleapis');
const jwt = new google.auth.JWT(
SERVICE_ACCOUNT.client_email,
null,
SERVICE_ACCOUNT.private_key,
['https://www.googleapis.com/auth/gmail.readonly'],
user,
);
const auth = await authorize(jwt);
const gmail = google.gmail({ version: 'v1', auth });
const response = await gmail.users.threads.list({ userId: user, maxResults: 50 })
考虑到大量用户,我一直在考虑实现批处理请求以将每个请求分组更多的用户,而不是一个接一个地进行,但是我无法找到有关如何使用Node.js client library
来做到这一点的信息。另外,考虑到每个用户都必须获得我的授权才能检索其数据,我将如何在批处理请求中处理该数据?
感谢您的任何建议
没有办法批量处理列出多个用户的线程的请求,因为这将需要对每个用户进行授权,并且它们是单独的实体。
您可以尝试将Array
或userIds
设为jwts
,然后在for
循环中迭代该过程,遍历数组的每个元素,对其进行授权并将线程列表存储到Array
中]。
我希望这对您有所帮助。让我知道您是否还需要其他什么,或者您是否不了解。 :)