在 gmail api 中搜索特定的 in-reply-to 标头

Posted

技术标签:

【中文标题】在 gmail api 中搜索特定的 in-reply-to 标头【英文标题】:Search for specific in-reply-to header in gmail api 【发布时间】:2017-07-13 19:11:04 【问题描述】:

我正在使用GMail Api,如果他们有带有标题的消息,我想查询用户消息

In-Reply-To: <specificMessageID@service.com>

我一直无法弄清楚如何做到这一点。

我猜方法应该是messages.list,但没有类似的查询:rfc822msginreplyto:

如果您认为没有这种可能性,最好获取最后 100 封用户的电子邮件并手动检查?

【问题讨论】:

我认为 Gmail 和 Gmail API 都没有这个功能。在Search Operators list中找不到。 好的,感谢您的回答,所以我想唯一的选择是手动获取最后一封电子邮件。 我会 list messagesq = rfc822msgid:msgid@example.com 然后 get the thread 看看回复是什么。 【参考方案1】:

你可以list messagesq = rfc822msgid:msgid@example.com 然后get the thread 来查看回复是什么。

【讨论】:

【参考方案2】:

Message.list 返回Users.messages 的列表

Message.list 确实有一个 q 方法。

q string 只返回匹配指定查询的消息。支持 与 Gmail 搜索框相同的查询格式。例如, “来自:someuser@example.com rfc822msgid:是:未读”。参数不能 使用 gmail.metadata 范围访问 api 时使用

所以你可以通过在 gmail 中搜索来测试它,如果你可以让它在那里工作,它应该可以通过 api 工作。

回复至:

我对此进行了测试,它似乎可以工作。

我不确定您使用的是哪个客户端库,但它们中的大多数在创建允许您添加 q 参数的请求时都有一个可选参数选项。

更新:

测试您在 Gmail 搜索中的查询

您发送的请求必须准确,您不能在末尾添加空格或删除空格:

回复至:

例子:

https://www.googleapis.com/gmail/v1/users/me/messages?access_token=XXXX&q=In-Reply-To:%20%3Cdddi@gmail.com%3E

回应


 "messages": [
  
   "id": "152377f1efe8d069",
   "threadId": "152376d14b187e44"
  
 ],
 "resultSizeEstimate": 1

在页面底部使用 try me。

【讨论】:

我已经对此进行了测试,不幸的是没有得到任何结果。我的查询是In-Reply-To:CAFs+qjWz8oGLhFK9GzoXAguuJrbNMGy9cEXqJ987v8XeofZOrA@mail.gmail.com 您在“:”之后缺少空格您是否使用 google Drive Search 表单对此进行了测试?我在驱动器和它工作的 api 中都对其进行了测试 我已经测试了In-Reply-To:id@s.comIn-Reply-To: id@s.com,但仍然没有得到任何结果。这将是完美的解决方案,但它似乎对我不起作用。我使用: [developers.google.com/gmail/api/v1/reference/users/messages/… APIs Explorer) 结果是 resultSizeEstimate:0;再次查询是In-Reply-To: CAA5K+n8OeqXn-pcQXGEvt6a7iMKC16w_jwP8fndrwKOLqy-gEA@mail.gmail.com,我知道我肯定在收件箱中有带有此标题的消息。 您在电子邮件地址中缺少“”。请在 Gmail 搜索中对此进行测试。然后复制字符串就容易多了。 好吧,你是对的。我将忽略消息 ID,只在线程内获取消息。如果发件人不是帐户的所有者(来自标头!= your.email),则只需遍历它们。这应该够了吧。对我来说最简单的解决方案。

以上是关于在 gmail api 中搜索特定的 in-reply-to 标头的主要内容,如果未能解决你的问题,请参考以下文章

在 htop 中搜索特定的进程名称

在一个用 JSON 填充的 NSArray 中搜索特定的标题

使用 perl 在字符串中搜索特定的子字符串模式

Javascript,Nodejs:在文件中搜索特定的单词字符串

从API读取JSON数据

在 BlockingCollection 中搜索特定元素