Search 在Gmail API中搜索具有特定threadId的邮件

Search 在Gmail API中搜索具有特定threadId的邮件,search,gmail,messages,gmail-api,Search,Gmail,Messages,Gmail Api,使用新的gmail api,我想搜索带有特定threadId的消息 我的使用案例是,我希望在一个线程中找到所有没有附件且不是草稿的消息。与其使用thread.get获取一个线程中的所有消息,然后检查每个消息以检查其是否是草稿或是否有附件,不如只对消息发出查询。list of-has:attachment-is:draft threadId:FOO 虽然我似乎找不到在执行搜索时如何指定threadid。有什么想法吗 支持与Gmail搜索框相同的查询格式。发件人: Gmail搜索框支持的搜索查询格式

使用新的gmail api,我想搜索带有特定threadId的消息

我的使用案例是,我希望在一个线程中找到所有没有附件且不是草稿的消息。与其使用thread.get获取一个线程中的所有消息,然后检查每个消息以检查其是否是草稿或是否有附件,不如只对消息发出查询。list of-has:attachment-is:draft threadId:FOO


虽然我似乎找不到在执行搜索时如何指定threadid。有什么想法吗

支持与Gmail搜索框相同的查询格式。发件人:

Gmail搜索框支持的搜索查询格式如下:


简而言之,这是不受支持的。

支持与Gmail搜索框相同的查询格式。发件人:

Gmail搜索框支持的搜索查询格式如下:


简而言之,这是不受支持的。

谷歌实际上提供了一个API,用于检索具有任何给定线程ID的消息列表。因此,如果您已经有了线程ID,为什么不直接点击这个API呢

不确定您使用的是哪种语言,但在.NET中可以这样做:

var threadMessages = gService.Users.Threads.Get("me", "*YourThreadID*").Execute();
其中gService是您以前创建的Gmail服务。那么,为什么不直接调用这个函数来遍历线程中的消息,检查那些带有附件的消息呢


可以找到一些设置此功能的快速入门文档

谷歌实际上提供了一个API,用于检索具有任何给定线程ID的消息列表。因此,如果您已经有了线程ID,为什么不直接点击此API呢

不确定您使用的是哪种语言,但在.NET中可以这样做:

var threadMessages = gService.Users.Threads.Get("me", "*YourThreadID*").Execute();
其中gService是您以前创建的Gmail服务。那么,为什么不直接调用这个函数来遍历线程中的消息,检查那些带有附件的消息呢


可以找到一些用于设置此设置的快速启动文档

,它只返回所有消息Id,而不返回我需要检查其是否有附件的消息本身。拥有消息Id后,您可以轻松检索消息详细信息,如so-var messageDetails=gService.Users.messages.Getme、message.Id.Execute;messageDetails现在将包含您提供的ID的消息的详细信息。然后,您可以查看此对象并找到附件-我将查看对象中的此部分:messageDetails.Payload.Parts让我知道这是否有帮助。这只返回所有消息ID,而不是消息本身,我需要检查它们是否有附件。一旦您有了消息ID,您可以轻松检索消息详细信息,如so-var messageDetails=gsservice.Users.Messages.Getme、message.Id.Execute;messageDetails现在将包含您提供的ID的消息的详细信息。然后您可以查看此对象并找到附件-我将查看对象中的这一部分:messageDetails.Payload.Parts让我知道这是否有帮助。