Javascript GmailAPI-Node.js-无法更新用户签名

Javascript GmailAPI-Node.js-无法更新用户签名,javascript,node.js,gmail,gmail-api,Javascript,Node.js,Gmail,Gmail Api,我已经授权了一个带有gmail API的小节点应用程序。我成功地得到了回应。例如,我可以使用users.settings.sendAs.list() 但是,当我尝试更改设置时,在这种情况下,签名返回的响应也是空的。因此,我可以擦除我在gmail中手动添加的签名,但我无法添加任何新的内容,所以更新正在进行中 这是剧本 var google = require('googleapis'); var key = require('./Sig-Updater.json'); var gmail = go

我已经授权了一个带有gmail API的小节点应用程序。我成功地得到了回应。例如,我可以使用
users.settings.sendAs.list()

但是,当我尝试更改设置时,在这种情况下,签名返回的响应也是空的。因此,我可以擦除我在gmail中手动添加的签名,但我无法添加任何新的内容,所以更新正在进行中

这是剧本

var google = require('googleapis');
var key = require('./Sig-Updater.json');
var gmail = google.gmail('v1');

var jwtClient = new google.auth.JWT(
  key.client_email,
  null,
  key.private_key,
  ['https://www.googleapis.com/auth/gmail.settings.basic', 'https://www.googleapis.com/auth/gmail.settings.sharing', 'https://www.googleapis.com/auth/gmail.modify', 'https://mail.google.com', 'https://www.googleapis.com/auth/gmail.compose',
'https://www.googleapis.com/auth/gmail.readonly' ],
  'some_email@somewhere.com'
);

jwtClient.authorize(function (err, tokens) {
  if (err) {
    console.log('Auth failed because: ' + err);
    return;
  }
  console.log(tokens)

  gmail.users.settings.sendAs.update({
    userId: 'me',
    auth: jwtClient,
    sendAsEmail: 'some_email@somewhere.com',
    signature: '<div dir="ltr">Hello there</div>'
  }, function (err, resp) {
    if(err){
      console.log(err);
    } else {
      console.log(resp);
    }
  });
});
var google=require('googleapis');
var key=require('./Sig Updater.json');
var gmail=google.gmail('v1');
var jwtClient=new google.auth.JWT(
key.client_电子邮件,
无效的
密钥,私钥,
['https://www.googleapis.com/auth/gmail.settings.basic', 'https://www.googleapis.com/auth/gmail.settings.sharing', 'https://www.googleapis.com/auth/gmail.modify', 'https://mail.google.com', 'https://www.googleapis.com/auth/gmail.compose',
'https://www.googleapis.com/auth/gmail.readonly' ],
”“一些_email@somewhere.com'
);
jwtClient.authorize(函数(错误、令牌){
如果(错误){
console.log('Auth失败,因为:'+err);
回来
}
console.log(令牌)
gmail.users.settings.sendAs.update({
userId:'我',
auth:jwtClient,
sendAsEmail:'一些_email@somewhere.com',
签名:“你好”
},函数(err,resp){
如果(错误){
控制台日志(err);
}否则{
控制台日志(resp);
}
});
});

对于任何noob业务,我深表歉意-对于这个API来说,node.js确实是一个新事物,看起来我的noob免责声明最终得到了保证

我在请求中省略了“resource”对象

应该看起来更像

gmail.users.settings.sendAs.update({
userId: 'me',
auth: jwtClient,
sendAsEmail: 'some_email@somewhere.com',
fields: 'signature',
resource: {
    signature: '<div dir="ltr">Hello there</div>'  
    }    
}, function (err, resp) {
    if(err){
      console.log(err);
    } else {
      console.log(resp);
    }
});
gmail.users.settings.sendAs.update({
userId:'我',
auth:jwtClient,
sendAsEmail:'一些_email@somewhere.com',
字段:“签名”,
资源:{
签名:“你好”
}    
},函数(err,resp){
如果(错误){
控制台日志(err);
}否则{
控制台日志(resp);
}
});

希望将来能帮助别人

看来我的Noob免责声明最终得到了保证

我在请求中省略了“resource”对象

应该看起来更像

gmail.users.settings.sendAs.update({
userId: 'me',
auth: jwtClient,
sendAsEmail: 'some_email@somewhere.com',
fields: 'signature',
resource: {
    signature: '<div dir="ltr">Hello there</div>'  
    }    
}, function (err, resp) {
    if(err){
      console.log(err);
    } else {
      console.log(resp);
    }
});
gmail.users.settings.sendAs.update({
userId:'我',
auth:jwtClient,
sendAsEmail:'一些_email@somewhere.com',
字段:“签名”,
资源:{
签名:“你好”
}    
},函数(err,resp){
如果(错误){
控制台日志(err);
}否则{
控制台日志(resp);
}
});

希望将来能帮助别人

不知道你在哪里找到的,但必须通过库源代码查找。这应该在什么地方说清楚。谢谢你让我保持清醒。我不知道你在哪里找到的,但我必须查一下图书馆的资料。这应该在什么地方说清楚。谢谢你让我保持理智。