我正在尝试使用Gmail API的节点库为自定义标识创建一个标签。该API提供了设置自己的ID的请求参数,但是当我尝试创建标签,我得到错误:通过Google Gmail API创建带有标识的标签
{
"error": {
"errors": [
{
"domain": "global",
"reason": "invalidArgument",
"message": "Invalid request"
}
],
"code": 400,
"message": "Invalid request"
}
}
标签是没有问题时创建的,我不给一个id。然而,为了我的目的,我需要有一套标准的标签ID。任何人都知道这里发生了什么,或者它只是api的错误/错误? 您可以尝试创建自己的标签,为您的帐户,看看更多的什么,我这里所说的:https://developers.google.com/apis-explorer/#p/gmail/v1/gmail.users.labels.create
代码来创建标签:
var service = Google.gmail({version : 'v1', auth : oauth2Client});
service.users.labels.create({
userId : 'user address here',
labelListVisibility : 'labelShow',
messageListVisibility : 'show',
name : 'label name here',
id : 'label id here'
}, function (err) {
if (err) {
throw err;
} else {
callback();
}
});
谢谢!
如果您转到此链接,请执行以下操作:https://developers.google.com/apis-explorer/#p/gmail/v1/gmail.users.labels.create 然后单击请求正文,其中显示“添加财产“和id字段在那里列出。如果你不能写信给它,为什么有这个选项?我一直认为这是不可变的,否则不知道标签的ID使它们几乎无用。 – ewein 2014-10-19 14:24:52
您需要使用labels.list()来确定标签ID <-->名称映射(尽管系统标签具有一致的ID)。 API Explorer无法确定哪些字段是只读的,哪些是可读写的。您需要检查该信息的文档。 – 2014-10-19 15:30:59
从我能找到的文档中,只能通过给出标签ID来将标签应用于消息。我在另一个论坛上阅读过,也可以使用标签名称,但我找不到任何支持的文档。 – ewein 2014-10-20 03:11:18