使用api取消固定或删除Gmail邮件中的星标

时间:2016-03-20 09:09:17

标签: gmail-api

我正在尝试更新gmail中的消息以删除引脚,我想我可以使用标签来做到这一点。但是我收到了错误的请求错误。

任何人都知道如何做到这一点?

3 个答案:

答案 0 :(得分:1)

如果没有您分享您的代码以及您收到的确切错误消息,很难说问题出在哪里,但要从邮件中删除星标,您可以使用messages.modify()与{ {1}}列表和removeMessageLabelIds作为要删除的标签。我没有测试过固定,但我相信它会删除STARRED标签。

答案 1 :(得分:0)

Tl; DR:如果你发现这个帖子是因为你想在谷歌收件箱中禁用固定(可能是因为你不喜欢被骗的电子邮件被自动固定,将它们从捆绑中删除),不要#39 ;尝试使用Gmail API解决这个问题。也许试试this TamperMonkey user script

<强>详情:

我想为那些在尝试做我浪费了很多时间的事情时找到这个帖子的人添加一个可怕的警告:

如果您不喜欢在他们不打盹的情况下获取已停用的电子邮件,请不要尝试使用Gmail API解决此问题。您可能知道电子邮件是否在收件箱中(而不是存档)是handled by an INBOX label,您可能知道可以订阅push notifications邮箱。

因此,您阅读Paul McManus上面的评论,其中提到删除和重新添加带有Gmail API的INBOX标签会取消您的消息。您将它放在一起并认为它可以解决您的问题 - 您将订阅推送有关邮箱更改的通知,然后使用history/list查找获得INBOX标签的最新邮件,并且您可以使用“{3}}”。 ll使用message/modify删除并重新添加INBOX标签。

问题在于,历史记录/列表并未显示电子邮件变为非延后的变化(即使他们获得了INBOX标签)。所以你不知道哪个消息要解锁。

在发现之后,我再次思考了问题,并意识到调用un-pin按钮上的click事件的user script也可以解决问题,而且这只是几行Javascript 。 You can get it here。唯一的问题是它无法在您的手机上工作。

答案 2 :(得分:0)

我为解决同样的问题所做的是。

  1. Threads.list API与查询(q param)一起使用:固定以获取“固定”的所有主题。

  2. 循环遍历这些线程,并使用Threads.modify API首先删除“Inbox”的LableIds,然后使用addLabelIds添加收件箱。这从线程中移除了引脚,并按照我想要的方式将其保存在我的收件箱中。

  3. 当然,每当您使用Google的收件箱暂停电子邮件时,您都必须再次运行相同的脚本。我还没有找到自动化的最佳方法,但可能会使用推送通知进行收件箱更改。