Gmail Java API messages.import + idempotence - PullRequest
0 голосов
/ 12 мая 2018

Я использую клиент Gmail Java в небольшом приложении Scala для импорта сообщений в почтовый ящик пользователя и хотел понять, является ли базовый API идемпотентным или нет.В частности, я использую этот вызов:

gmail.users().messages().gmailImport("me", message).execute()

Прежде чем передать этот метод message, я явно устанавливаю идентификатор сообщения (message.setId(<id>) и использую GUID для значения(например: 85e2adbb-d548-4d0b-bc5c-5eabeccd5551), но это, похоже, никак не влияет.В ответе API я всегда вижу вышестоящий идентификатор, который выглядит как 14c777cc5fbac1ec.Кроме того, даже если использовать этот идентификатор в последующем вызове gmailImport, похоже, что новое сообщение импортировано, и в моем тестовом почтовом ящике появляются дубликаты.

Мои вопросы:

  • Является ли это поле идентификатора сообщения чем-то сгенерированным Google и НЕ предназначенным для того, чтобы потребитель API отправлял его для достижения идемпотентности?(https://developers.google.com/gmail/api/v1/reference/users/messages)
  • Если ответ на ^ - да, есть ли вообще поддержка идемпотентности на уровне API? Или мне нужно отслеживать сообщения и идентификаторы, если я хочу избежать дубликатов?

Спасибо!

...