有没有一种方法可以使用Google App脚本“在回复/转发使用时”更新gmail的签名?

问题描述

我成功使用此topic作为指导,创建了一个脚本来为g-suite域中的用户生成签名。 现在我的问题是,此脚本仅更改“供新电子邮件使用”的签名,但我需要“在回复/转发时使用”签名也要使用此脚本进行更新。

有可能吗?

这是我用作示例的代码,它在撰写新电子邮件时可以更改签名。

function setSignatureWithHTTPRequest(email,signature) {
  var signatureSetSuccessfully = false;
  var authorizationScope = ['https://www.googleapis.com/auth/gmail.settings.sharing'];
  
  var service = getDomainWideDelegationService("Gmail: ",authorizationScope,email);

  if (!service.hasAccess()) {
    Logger.log("failed to authenticate as user " + email);
    Logger.log(service.getLastError());

    signatureSetSuccessfully = service.getLastError();

    return signatureSetSuccessfully;
  } else {
    Logger.log("successfully authenticated as user " + email);
  }
  
  var username = email.split("@")[0];
  var resource = { signature: signature };
  
  var requestBody                = {};
  requestBody.headers            = {"Authorization": "Bearer " + service.getAccessToken()};
  requestBody.contentType        = "application/json";
  requestBody.method             = "PUT";
  requestBody.payload            = JSON.stringify(resource);
  requestBody.muteHttpExceptions = false;

  var emailForUrl = encodeURIComponent(email);

  var url = "https://www.googleapis.com/gmail/v1/users/me/settings/sendAs/" + emailForUrl;

  try {
    var setSignatureResponse = UrlFetchApp.fetch(url,requestBody);
    signatureSetSuccessfully = true;
    Logger.log("setSignatureResponse on successful attempt:" + setSignatureResponse);
  } catch (e) {
    Logger.log("Set signature with HTTP request failed: " + e);
  }
  
  return signatureSetSuccessfully;
}

谢谢。

编辑:只是为了弄清楚我需要什么帮助:在gmail的配置(gmail->出售所有设置​​)的网络界面中,您可以看到“签名”字段具有两个用于设置签名的选项,“用于新电子邮件”和“在回复/转发中使用”。当我运行脚本时,它会自动仅更改第一个选项(供新电子邮件使用),这意味着每当撰写电子邮件时,它将使用从脚本中创建的正确签名发送,但不会更改第二个选项(回复时) / forward use),这意味着当我回复或转发电子邮件时,除非我手动更改它,否则它将不会使用我创建的签名。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...