我正在尝试为访问设置不当的Google云端硬盘文件显示警告消息。此代码(代码段)不起作用:
var security = DriveApp.getFileById(my_id).getSharingAccess();
switch (security) {
case "PRIVATE":
Browser.msgBox("WARNING: This file is currently PRIVATE. Please update the sharing options to make it available to other users.");
break;
如果我在消息框中显示变量“ security”,它将显示为“ PRIVATE”,但是我不认为getSharingAccess()
返回一个字符串,因此我不确定如何进行测试。
答案 0 :(得分:0)
首先,您的代码段缺少右括号。
第二,对于其他阅读此内容的人来说,此代码段隐含地假定它正在作为绑定到电子表格的脚本的一部分运行(需要从该内部调用 browser.msgbox()调用)工作环境)。
那是我的建议:
function myFunc() {
var security = DriveApp.getFileById(my_id).getSharingAccess();
if (security == DriveApp.Access.PRIVATE){
Browser.msgBox("WARNING: This file is currently PRIVATE. Please update the sharing options to make it available to other users.");
} else if (security == DriveApp.Access.ANYONE_WITH_LINK){
// etc.
}
}
您的问题是试图将 security 变量用作字符串-即使Google App Script有时足够聪明,仅在例如以下情况下将其解析为字符串,它实际上还是一个对象打印到控制台。
因此,您必须将其与访问权限进行显式比较才能获得所需的结果。
希望对您有帮助!