如何从特定电子邮件的gmail获取线程ID

How to get thread id from gmail for a certain email

我想找到我从 gmail 发送的特定电子邮件的线程 ID。我浏览了 Gmail api,其中有一些方法可以获取线程列表,还有一种方法可以在您发送用户 ID(即电子邮件和线程 ID)后为您提供与该线程相关的所有消息。我可以使用 list 方法获取线程 ID,但是否有其他方法获取线程 ID?

如果您只有 messageId,您可以 get the message,特别是只询问该消息的 threadId

请求

usedId = me
id = 1514453c0800d5fa
fields = threadId

GET https://www.googleapis.com/gmail/v1/users/me/messages/1514453c0800d5fa?fields=threadId&access_token={YOUR_API_KEY}

回应

{
 "threadId": "1514453c0800d5fa"
}

然后,就用这个 get the thread:

请求

userId = me
id = 1514453c0800d5fa

GET https://www.googleapis.com/gmail/v1/users/me/threads/1514453c0800d5fa?access_token={YOUR_API_KEY}

此外,如果您知道该消息是线程中的第一条消息,threadId 将与 messageId 相同,如上例所示。

如果你没有 Google 自己的 messageId 但你说的 Message-ID, you have to list the message:

请求

userId = me
q = rfc822msgid:<Message-ID>

GET https://www.googleapis.com/gmail/v1/users/me/messages?q=rfc822msgid%3A%3C0000015148b39f7a-64856e69-3b6e-4e37-bff0-db4e26aae420-000000%40eu-west-1.amazonses.com%3E&access_token={YOUR_API_KEY}

回应

{
 "messages": [
  {
   "id": "15148b3a2f9a26a0",
   "threadId": "15148b3a2f9a26a0"
  }
 ],
 "resultSizeEstimate": 1
}