【问题标题】:How to get thread id from gmail for a certain email如何从gmail获取特定电子邮件的线程ID
【发布时间】:2016-02-29 13:26:09
【问题描述】:

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

【问题讨论】:

  • 您是否使用 Gmail API 发送了邮件,或者您想查找带有给定 Subject 的邮件,或者类似的内容?
  • 我已经发送了邮件,现在我想获取该邮件的回复,我有消息 ID,但我想要 api 建议的线程 ID 以获得转换

标签: ruby-on-rails gmail-api


【解决方案1】:

如果你只有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 相同,如上例所示。

如果你没有谷歌自己的messageId,而是Message-ID,你必须像你说的那样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
}

【讨论】:

  • 我试过了,但我得到了“需要登录”的响应,当我也传递身份验证令牌时,我没有得到?
  • 应该可以。你能显示你正在使用的代码吗?
  • 我正在尝试使用 REST 客户端,并且我将 user_id 作为我的电子邮件地址传递消息 ID 和访问令牌
  • @AjinkyaKathe 我明白了。将代码粘贴到您的问题中:)您所说的应该可以,但可能还有一些小问题!
  • 嘿@Tholle 我有消息 id = 你知道如何转换它
猜你喜欢
  • 2018-11-03
  • 2021-03-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-02-10
  • 1970-01-01
  • 2021-02-14
  • 1970-01-01
相关资源
最近更新 更多