Получение только заголовков для всех сообщений в 25 потоках

У меня есть 25 потоковых идентификаторов, и я хотел бы получить from заголовок для каждого сообщения в каждом из потоков.

В настоящее время я выполняю пакетную загрузку users.threads, однако при этом загружается все содержимое сообщения и вложения без необходимости. Преимущество заключается в том, что это можно выполнить за один пакетный вызов API.

Единственный способ получить только заголовок сообщения - запросить сообщения по отдельности. Таким образом, одна альтернатива - сделать начальную выборку всех потоков и просто получить поля идентификатора сообщения для каждого потока. Затем выполните еще один набор пакетных вызовов, чтобы получить каждое из сообщений. Поскольку потоки могут иметь много сообщений, и для каждого пакетного вызова существует ограничение в 100 req. Это может быть много запросов.

Что в этом случае более эффективно для возврата API gmail? Один пакетный вызов со всеми данными или много вызовов пакетных сообщений?

1 ответ

Решение

Действительно, сервер, поддерживающий threads.get(format=METADATA), был бы идеальным.

однако, исключая то, что я бы просто вызывал threads.get() в каждом потоке - если вы делаете это только для 25 потоков, это не имеет большого значения, а threads.get() довольно эффективен - он возвращает только небольшое тело части не огромные вложения (им присваивается только идентификатор вложения, который можно получить отдельно). тогда, если / когда Gmail предоставит format = METADATA для threads.get(), это будет легко изменить, не нужно иметь дело с пакетированием и т. д.

Другие вопросы по тегам