如何使用Google Apps脚本以编程方式更新电子邮件休假回复?

时间:2017-03-06 04:49:26

标签: google-apps-script

我第一次使用Google Apps脚本,并尝试以编程方式简单地在Gmail中更新我的假期回复,作为对Google Apps脚本的首次测试。

我遵循此处的文档:https://developers.google.com/gmail/api/v1/reference/users/settings/updateVacation

我写了:

function updateAutoResponse(){
    Gmail.Users.Settings.updateVacation('me', {
        "enableAutoReply": true,
        "responseSubject": "I am not here...",
        "responseBodyPlainText": "I am not here...",
        "responseBodyHtml": "I am not here...",
        "restrictToContacts": false,
        "restrictToDomain": false       
    });
}

不幸的是,在编译后出现错误。解析错误(第65行,文件"代码")

我已在高级Google服务以及Google API控制台中启用了Gmail API,因此我认为这是某个地方的语法问题。

任何想法都会非常有用。谢谢!

1 个答案:

答案 0 :(得分:0)

这是一个简单的修复:

function updateAutoResponse(){
    Gmail.Users.Settings.updateVacation(
      {
        "enableAutoReply": true,
        "responseSubject": "Test",
        "responseBodyHtml": "Testing script, not actually gone",
        "restrictToContacts": false,
        "restrictToDomain": false
      },
      'me'
    );
}

userId是第二个参数,而不是第一个参数。它没有写在文档中,但如果您允许Apps脚本自动完成功能向您显示语法,则会指出updateVacation(VacationSettings resource, String userId) : VacationSettings

此外,不确定这是否有任何影响,但我很确定提供responseBodyHtmlresponseBodyPlainText时看到它们填充完全相同的位置是没有意义的。如果您不需要HTML,您可以只使用PlainText,但如果您想要格式化,则只要收件人不接受HTML(格式化将被删除),您就会使用HTML和PlainText