gapi.client.gmail.users.labels.create给出了invalidArgument错误

pix*_*yaj 3 javascript gmail-api

我正致力于使用JavaScript Gmail API创建标签.

function createLabel(userId, newLabelName, callback) {
var request = gapi.client.gmail.users.labels.create({
'userId': userId,
'label': {'name': newLabelName}
});
request.execute(callback);}
Run Code Online (Sandbox Code Playgroud)

这是Developer API Example的代码

我能够进行身份验证,甚至我将获得标签列表,但在创建标签时,我收到以下错误.

{
 "error": {
  "errors": [
   {
    "domain": "global",
    "reason": "invalidArgument",
    "message": "Invalid request"
   }
  ],
  "code": 400,
  "message": "Invalid request"
 }
}
Run Code Online (Sandbox Code Playgroud)

但是当我使用Try It示例时它正在工作,但唯一不同的是它使用key = {Your auth key}执行POST请求,该示例提供的不会将该部分附加到URL.

Tho*_*lle 6

您发送的数据应该在resource-parameter,和labelListVisibilitymessageListVisibility也是必填字段:

function createLabel(userId, newLabelName, callback) {
  gapi.client.gmail.users.labels.create({
    userId: userId,
    resource: {
      name: newLabelName,
      labelListVisibility: 'labelShow',
      messageListVisibility: 'show'
    }
  }).execute(callback);
}
Run Code Online (Sandbox Code Playgroud)