google-apps-script - 为什么共享电子表格在授权后无法正常工作?
问题描述
我创建了一个包含脚本的电子表格。我与 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]);
}
解决方案
我发现了问题所在!当我将电子表格共享到 G Suite 帐户时,它不起作用,因为我无法授权某些权限,因为我不是 G Suite 的管理员。显然有一些安全限制。我将电子表格复制到一个普通的 gmail 帐户,它工作正常。不管怎么说,还是要谢谢你!问候
推荐阅读
- db2 - 创建历史触发器 Db2
- powershell - 如何在 PowerShell 中连接值?
- javascript - 实现多个缩略图到多个幻灯片 javascript/jQuery
- json - 如何根据其他下拉选择将本地 Json 加载到 Flutter DropDown?
- docker - 带有 docker 环境的 Jenkins 归档路径
- c++ - 如何使用 64 位而不是 32 位解决按位搜索?这两者有什么区别?
- angular - Angular 7:*ngFor 中的动态过滤器
- android - 在 Azure Pipelines 的 Ubuntu 代理上构建 Android 项目时,SDK 目录不可写
- javascript - IE11 中 eval() 的 React + Babel polyfill 问题
- angular - 类型 '{ httpHeaders: typeof HttpHeaders; }' 与类型 '{ headers?: HttpHeaders | 没有共同的属性。