时间表已创建并需要审批 工作流程 - 主管打开 Google 表格时获取'Access Denied'



我在谷歌工作表中创建了一个时间表,并有一个"向审批者发送电子邮件"按钮我正在使用下面的代码通过电子邮件发送给主管。它复制了原始文件,我相信这就是"拒绝访问"问题的原因——因为主管有一个不同的谷歌账户。尽管我已经授予了主管对该文件夹的权限,并且我认为他们可以打开该文件夹中的任何内容,但当文件是新创建的时,这似乎不会发生?我需要主管在发送到Payroll之前将他们的名字填写在一个框中,所以.pdf文件对我不起作用。

function EmailSupervisor() { 
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getActiveSheet();
var MyNewBook = ss.copy("A Copy of " + ss.getName() + ss.getRange('C3').getValue()); 
var MyLink = MyNewBook.getUrl();
var MyUser = ss.getRange('C49').getValue(); MailApp.sendEmail({ to: MyUser, subject: 'Payroll Hours Approval Needed', body: MyLink, }); 
} 

他们是围绕"拒绝访问"问题进行编码的一种方式吗?或者设置共享文件夹可以解决这个问题吗?在这一点上,我读了太多书,我的头都快转了。非常感谢。

最简单的方法是通过addEditor请求与主管共享新文件

样品:

function EmailSupervisor() { 
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getActiveSheet();
var MyNewBook = ss.copy("A Copy of " + ss.getName() + ss.getRange('C3').getValue());
MyNewBook.addEditor(emailAddress)
var MyLink = MyNewBook.getUrl();
var MyUser = ss.getRange('C49').getValue(); 
MyNewBook.addEditor(MyUser);
MailApp.sendEmail({ to: MyUser, subject: 'Payroll Hours Approval Needed', body: MyLink, }); 
} 

如果问题仍然存在,您的主管可能已通过多个帐户登录到他的浏览器会话中。在这种情况下,请他从除您共享文件的帐户之外的所有帐户注销。

最新更新