【问题标题】:Changing the owner of google spreadsheet for sending emails with app script更改 google 电子表格的所有者以使用应用脚本发送电子邮件
【发布时间】:2016-07-06 18:52:36
【问题描述】:

我在应用脚本中生成了以下代码,以便在用户更改谷歌电子表格中的某些值时自动发送电子邮件,这工作正常。

我的问题是,现在我是这个 google 电子表格的所有者,所以每封电子邮件都是从我的 gmail 帐户发出的。我只是想知道是否可以更改发件人,以便从其他人的 gmail 帐户发送每封电子邮件。我确实通过将所有者更改为我的一位同事来测试它,但它不起作用。即使谷歌电子表格的所有者是其他人,我仍在“发送”这些电子邮件。

我需要更改我的代码吗?任何建议将不胜感激!谢谢!

function PODTool() {
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
SpreadsheetApp.setActiveSheet(spreadsheet.getSheets()[0];

var sheet = spreadsheet.getActiveSheet();
var lastRow = sheet.getLastRow();

var startRow = 2;

var range = sheet.getRange(2,7,lastRow-startRow+1,1 );
var numRows = range.getNumRows();
var LinksToPODForm = range.getValues();

var rangeColumnReadyToSendEmail =sheet.getRange(2,9,lastRow-startRow+1,1);
var sendEmailOrNot = rangeColumnReadyToSendEmail.getValues();


var warning_count = 0;
var msg = "";

// Loop over the values 
for (var i = 0; i <= numRows - 1; i++) {
var EachLinkValue = LinksToPODForm[i][0];


if (EachSendEmailOrNotValue=="yes" && sheet.getRange(i+2,10).getValue()=='Email not Sent' &&EachEmailRecipient=="Someone"){
var BillingOfLadingShowingInEmailNotification = Billing_of_lading_number[i][0];


msg = msg +"Requester:       "+EachEmailRecipient+"
warning_count++;
var subject ="Billing of Lading: "+BillingOfLadingShowingInEmailNotification;
  sheet.getRange(i+2,10).setValue('Sent');
var recipient = "xxx@gmail.com";
}

if(warning_count) {
  MailApp.sendEmail(recipient, subject,msg)
}

};

【问题讨论】:

    标签: google-apps-script google-sheets


    【解决方案1】:

    您必须调整“部署 Web 应用程序...”设置,以便应用程序脚本以“访问 Web 应用程序的用户”身份运行。此选项位于“将应用程序执行为”设置下。

    这将要求用户授权该应用使用他们的帐户一次,如 Cameron 所述。

    【讨论】:

    • 谢谢!它工作,我只是通过更改“执行”设置与我的同事测试它,并让我的同事手动触发脚本。
    【解决方案2】:

    电子邮件将从脚本运行的授权帐户发送。

    我相信在您的情况下,无论哪个帐户创建了运行脚本的触发器。脚本本身的所有者无关紧要,因为任何具有编辑权限的用户都可以创建触发器。

    请注意,当新用户创建触发器时,他们还必须手动触发脚本一次,以便对其进行授权。

    【讨论】:

    • 谢谢!它起作用了,通过结合您的答案和 user2970721 的答案,我只是通过更改“执行”设置对其进行了测试,并让我的同事手动触发脚本。
    猜你喜欢
    • 1970-01-01
    • 2020-12-15
    • 2020-04-14
    • 2018-03-02
    • 1970-01-01
    • 2014-09-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多