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

我已经通过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); } }); }); 

对不起,任何noob业务 – 这个API的新和确实node.js

看起来我的诺布免责声明是最后保证,

我从请求中省略了“资源”对象。

应该看起来更像

 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); } }); 

希望在未来帮助别人!