Получение только заголовков для всех сообщений в 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(), это будет легко изменить, не нужно иметь дело с пакетированием и т. д.