我通过典型的方法在gmail的web界面中创建了一个标签“handler_gmail”。
当我试图通过gmailapi(Python客户机库)为消息设置标签时,得到的响应是HttpError 400,返回“Invalid label:handler_Gmail”。在
我确信这个标签是存在的(我已经检查了很多次了,没有错别字)。在
我想把它设置成这样:
gs.users().messages().modify(userId=username, id=m['id'], body={"addLabelIds": ['handler_gmail']}).execute()
我尝试向字典中添加一个"removeLabelIds": []
键/值对(可能是必需的),但是得到了相同的“Invalid label”错误。在
如有任何帮助,我们将不胜感激!如此接近能够做我需要做的这个项目!在
我实现了一个解析器来将我的标签名更改为ID
现在我这样称呼标签创造者:
^{pr2}$我调用的主代码如下所示
我可以通过打印列出系统和用户标签(用户.gs().labels().list(userId=username).execute())
这表明我的标签的标签ID是另一个东西(“label_1”的名字是“handler_gmail”)。因此,我将创建一个支持方法,通过名称获取标签ID,并使用ID将标签添加到消息中(通过modify)
谢谢!在
正如其他人所指出的,您必须使用标签id,而不是标签名称。我通过使用gmailapi的sample code解决了这个问题,并对其进行了修改,以打印除名称外的id:
因此,一旦获得相应的id,代码应该类似于:
^{pr2}$相关问题 更多 >
编程相关推荐