【发布时间】:2020-05-14 17:39:21
【问题描述】:
我有一个与其他人共享的谷歌表(我是所有者),其中有一个链接到相应捆绑脚本的按钮,当用户登录按下该按钮时,它会向我发送一封电子邮件(所以如果我点击按钮我向我发送电子邮件)。
所有其他人都拥有“编辑”权限,但是当他们单击按钮时会发生错误,提示无法发送邮件(当我单击全部时完美运行)。
与其他人关联的帐户与我的电子邮件域相同(不是 gmail,但与同一公司相关)。
似乎脚本有不同的权限,因为我没有问题,而其他人有。
像往常一样,在他们(包括我)第一次点击按钮时,他们(包括我)必须接受 google 授权才能“以您的身份发送电子邮件”(以当前帐户的头像登录)。
这是按钮的代码:
'''
var sheet = SpreadsheetApp.getActiveSheet();
var sel = sheet.getSelection();
var sel_range = sel.getActiveRange();
var message = sel_range.getValues();
// get task IDs
var prev_values = sel.getNextDataRange(SpreadsheetApp.Direction.PREVIOUS).getValues();
var cod_tickets = [];
for (var k in prev_values){
cod_tickets.push(prev_values[k][0]);
}
var emailAddress = SpreadsheetApp.getActive().getSheetByName('Manager').getRange('I2').getValue();
var subject = 'ticket ' + cod_tickets;
MailApp.sendEmail(emailAddress, subject, message);
''' 我说他们向我发送了一封电子邮件,因为“emailAddress”变量将填充包含我的电子邮件地址的单元格的值。 有什么想法吗?
【问题讨论】:
-
在第一次按下授权后他们第二次按下按钮是否有效?
-
如果您将所有权转让给其中之一怎么办?那它会发送吗?它也可能与您公司的安全设置有关......或者正如@roma 所说,他们可能只需要再次点击它。
-
我知道授权后点击两次:两次点击后出现错误
-
现在我发现另一位在家工作的同事(和我一样)使用 VPN 使用工作表没有错误(而其他出现错误的同事都在工厂工作),所以在我看来,这不是特权问题。我已经询问了公司的 IT 团队,他们说没有可能出现错误的防火墙限制。
标签: email google-apps-script google-sheets sharing