首页 > 解决方案 > 为什么共享电子表格在授权后无法正常工作?

问题描述

我创建了一个包含脚本的电子表格。我与 url /copy 共享它并将其复制到我拥有的另一个帐户,只是为了测试它。然后,当我运行脚本时,它会询问我的授权。我批准了它们,脚本运行并完成,但是有些句子在授权之后不会运行。其中一些句子是:

GmailApp.markMessageRead(mail[0]);   
GmailApp.moveMessageToTrash(mail[0]);
sheet[2].sort(2);
sheet[2].sort(1);
sheet[2].deleteColumn(3);

我看到的不同之处在于,当我在原始帐户中第一次运行脚本时会弹出“此应用程序未验证”窗口(我接受请求),但在另一个帐户中,此弹出窗口不显示。只会弹出下一个授权。

该脚本从电子邮件中获取附件,将其复制到驱动器中,将其转换为电子表格,并获取葡萄糖值以便在主工作表中对其进行排序。

我真的找不到解决方案,我想分享这个电子表格,因为它可能对许多糖尿病患者有用。它对我有用,但在我分享它时却不行。

这是链接:https ://docs.google.com/spreadsheets/d/1ozIhv6DWD5O9uzn9z713HT1N0cFfncgwgKZ9FYxY0HQ/copy

我是 GAS 的新手,这是我的第一个脚本。我是 C 程序员。谢谢!

我粘贴下面的代码。

function myTidySgr() {
  var sps = SpreadsheetApp.getActiveSpreadsheet()
  var sheet = sps.getSheets();
  var rowsprincipal = sheet[0].getDataRange();
  var principal = rowsprincipal.getValues();
  var busqueda = GmailApp.search("is:unread subject:(exportar.csv) 
  has:attachment", 0, 100);
  var mail = busqueda[0].getMessages();
  var MySgr = mail[0].getAttachments(); 
  var blob = MySgr[0].copyBlob();       
  GmailApp.markMessageRead(mail[0]);   
  }

标签: google-apps-scriptsharespreadsheet

解决方案


我发现了问题所在!当我将电子表格共享到 G Suite 帐户时,它不起作用,因为我无法授权某些权限,因为我不是 G Suite 的管理员。显然有一些安全限制。我将电子表格复制到一个普通的 gmail 帐户,它工作正常。不管怎么说,还是要谢谢你!问候


推荐阅读