【问题标题】:Apps Script to get the users signature用于获取用户签名的 Apps 脚本
【发布时间】:2017-07-12 17:08:08
【问题描述】:

我创建了一个应用程序脚本,该脚本将使用联系人详细信息进行简单的邮件合并以创建新的电子邮件草稿。它按预期工作,但我想在模板中使用当前用户的签名。

有关这方面的文档已过时且不完整。我根据我找到的内容创建了下面的代码,但是由于找不到官方文档,因此不得不对它需要什么进行全面猜测。

var params;
params = {method:"post",
          contentType: "application/json",
          headers: {"Authorization": "Bearer " + ScriptApp.getOAuthToken()},
          muteHttpExceptions:true
        };

var resp = UrlFetchApp.fetch("https://apps-apis.google.com/a/feeds/emailsettings/2.0/{domain}/me/signature", params);
var rCode = resp.getResponseCode();
var rText = resp.getContentText();

这是回复:

rCode = 400
rText = Invalid request URI

什么是正确的请求 URI?有新的 API 吗?

【问题讨论】:

    标签: google-apps-script


    【解决方案1】:

    现在可以从 gmail API 访问 Gmail 签名。我在下面添加了一行以获取当前用户的签名。我使用list 而不是get,因为默认情况下用户可能会以不同用户的身份发送电子邮件,然后是他们的登录帐户。所以我list所有帐户并过滤掉默认帐户。

    https://developers.google.com/gmail/api/v1/reference/users/settings/sendAs

    var signature = Gmail.Users.Settings.SendAs.list("me").sendAs.filter(function(account){if(account.isDefault){return true}})[0].signature;
    

    【讨论】:

    • 我想一定有办法做到这一点,但谷歌搜索并没有把我带到settings/sendAs
    • 是的,它很新,所以大多数链接可能仍然指向折旧的 api。
    • 您知道新的 API 是否允许应用程序脚本发送草稿,而无需在发送前将草稿正文复制到新电子邮件中?我想在不创建新线程的情况下发送草稿。
    • 我不知道。对不起
    • 也许您已经知道这一点,但您的链接不再有效。
    猜你喜欢
    • 1970-01-01
    • 2017-11-01
    • 2017-09-21
    • 1970-01-01
    • 2021-05-26
    • 1970-01-01
    • 2018-07-03
    • 1970-01-01
    • 2020-11-30
    相关资源
    最近更新 更多