Есть ли способ получить идентификатор сообщения после вставки сообщения через ответ API?
Например, я использую приведенный ниже код для вставки исходного сообщения:
try:
message1 = service.users().messages().insert(userId='me', body=temp).execute()
print(f"{message1['id']} / {message1['threadId']}")
В этом вызове API id
и threadId
одинаковы, строка из 16 символов.
Затем я вставляю ответ. Я go в Gmail, чтобы получить идентификатор сообщения (<...@mail.gmail.com>
) и установить его в следующем вызове API следующим образом:
message['subject'] = 'Re: test subject'
message['In-Reply-To'] = '<...@mail.gmail.com>'
message['References'] = '<...@mail.gmail.com>'
encoded_message = urlsafe_b64encode(message.as_bytes())
temp = {'raw': encoded_message.decode(), 'labelIds': ['UNREAD'], 'threadId': 'THREAD_ID_FROM_FIRST_CALL'}
try:
message1 = service.users().messages().insert(userId='me', body=temp).execute()
print(f"{message1['id']} / {message1['threadId']}")
Ответ здесь другой message1['id']
, но тот же message1['threadId']
, как указано выше, поэтому он правильно отображается в Gmail. Но есть ли способ легко получить идентификатор сообщения из тела ответа? Могу ли я сгенерировать его из message1['id']
? Альтернативой является создание второго API для поиска сообщения по message1['id']
, но я пытаюсь избежать этого. Благодаря.