相同的线程ID不会返回相同的消息

时间:2015-07-09 19:09:55

标签: google-chrome google-chrome-extension gmail gmail-api gapi

尝试仅检索发送给我的邮件(而不是我的外发邮件),在这种情况下,我已发送电子邮件并已回复。当我使用以下请求时,我得到的线程只包含所需的传入消息:

"https://www.googleapis.com/gmail/v1/users/me/threads?q=-from%3Ame+in%3Ainbox&access_token=" + thisToken

但是,当我从回执中获取消息ID并将其插入单个消息请求时:

"https://www.googleapis.com/gmail/v1/users/me/messages/" + messageId + "?access_token=" + thisToken

返回的消息是线程中的第一条消息,在这种情况下是我的外发消息。我在API Explorer中已经证明了这一点。是否可以获取仅传入消息的消息ID? Thread API Explorer能够对其进行排序这一事实让我相信它是可能的......

(我是新手。真心感谢任何帮助,我很感激你的时间。)


具有所需回报的线程API资源管理器示例

thread

使用相同ID

的非意外回复的Message API Explorer示例

thread

1 个答案:

答案 0 :(得分:7)

您传递给message.get()调用的id是线程ID。这是有效的,因为对于线程中的第一条消息,线程ID和消息ID是相同的。对于线程中的后续消息,它们是不同的。

您可以使用query调用thread.list()来检索感兴趣的线程ID,然后调用thread.get()来检索给定线程中的所有消息ID。然后为每个检索到的消息ID调用message.get()并检查每条消息的labelIds。排除有labelId" SENT"。

的那些