Я пытаюсь использовать API Gmail для извлечения всех субъектов потоков в учетной записи gmail.Получить темы темы Gmail (разумным способом)
Это легко с threads.list
, но это в основном получает идентификатор темы, а не темы.
Единственный способ, который я нашел, - использовать threads.list
, затем для каждого потока, вызвав threads.get
и извлекая объект из заголовков в метаданных полезной нагрузки.
Очевидно, что это вызывает множество вызовов API, то есть 101 вызов, если существует 100 потоков.
Есть ли лучший способ?
Вот код, который я сейчас использую:
var getIndivThread = function(threads) {
threads.threads.forEach(function(e) {
indivThreadRequst.id = e.id,
gmail.api.users.threads.get(indivThreadRequst).execute(showThread);
});
};
var indivThreadRequst= {
format: 'metadata',
metadataHeaders:['subject'],
userId: myUserId,
maxResults:1};
var showThread = function(thread) {
console.log(thread.messages[0].payload.headers[0].value);
};
gmail.api.users.threads.list({userId:myUserId}).execute(getIndivThread);
Спасибо. Не могли бы вы рассказать о точке 2 с кодом? Асинхронно получать сообщения для threadIds, в отличие от их последовательного получения, тем самым повышая производительность, я полагаю, вы подразумеваете. – newfivefour
Вы работаете в браузере или в узле? – rrowland
Я в браузере. – newfivefour