无法使用 Gmail API 中的高级搜索来搜索特定的彩色星(超级星)。

Posted

技术标签:

【中文标题】无法使用 Gmail API 中的高级搜索来搜索特定的彩色星(超级星)。【英文标题】:Unable to search for specific coloured star (superstars) using Advanced Search in Gmail API. 【发布时间】:2015-09-18 09:33:15 【问题描述】:

这是我们使用的。 https://developers.google.com/gmail/api/v1/reference/users/messages/list

为了获得带有红星的电子邮件,这是我们要求的。

GET https://www.googleapis.com/gmail/v1/users/me/messages?q=has%3Ared-star&key=YOUR_API_KEY

结果为 0。 其他标准,例如 is:starred、has:attachment 是否按预期工作,我们做错了吗?

【问题讨论】:

如果相同的查询在 Web UI 中有效,我不明白为什么 q="has:green-check" 在 API 中无效。如果您没有得到任何结果,请确保您正确(URL)转义了 q 参数值(取决于语言,这可能会或可能不会自动为您处理)。 【参考方案1】:

您不能在 Gmail API 中使用标志的名称。您必须使用以下代码:

has:yellow-star <=> l:^ss_sy
has:blue-star <=> l:^ss_sb 
has:red-star <=> l:^ss_sr 
has:orange-star <=> l:^ss_so
has:green-star <=> l:^ss_sg
has:purple-star <=> l:^ss_sp
has:red-bang <=> l:^ss_cr
has:yellow-bang <=> l:^ss_cy
has:blue-info <=> l:^ss_cb
has:orange-guillemet <=> l:^ss_co
has:green-check <=> l:^ss_cg
has:purple-question <=> l:^ss_cp

来源:http://googlesystem.blogspot.se/2008/07/gmail-superstars.html

【讨论】:

@yoshi 太棒了! :) 考虑接受答案,以便有类似问题的人可以找到它。 还是看不懂逻辑。如果“is:unread”有效,并且一般情况下,您可以指定类似于在GMail搜索框中搜索的查询参数,为什么“has:XXX”无效? @ND003 我也不明白 :) 只是我不久前捡到的东西。很烦人。

以上是关于无法使用 Gmail API 中的高级搜索来搜索特定的彩色星(超级星)。的主要内容,如果未能解决你的问题,请参考以下文章

Gmail REST API 线程搜索未给出预期结果

我可以使用IFS公式在单元格中搜索特定文本,然后将文本返回到当前单元格吗?

GMAIL API - 日期搜索(时区不清楚)

在 Python 中使用 Gmail API 使用 message-id 搜索电子邮件

在 API 中查找 Gmail 暂停日期

gmail API 不起作用,无法解构属性“client_secret”