Google apps script Can';“t集”;“任何人”;访问我的脚本

Google apps script Can';“t集”;“任何人”;访问我的脚本,google-apps-script,Google Apps Script,我在网上复制了一个应用程序脚本,允许人们通过谷歌网站将文件直接上传到我谷歌硬盘的文件夹中,因为我是一名教师,而不是程序员 我按照程序员的指示,授权了应用程序,但当我想“部署为web应用程序”时,当我选择“谁有权访问应用程序:”时,唯一可用的选项是“我自己”和“我域内的任何人”,但“任何人”都不可用 这对我来说很重要,因为我的学生打算上传文件给我,他们中的许多人在我的同一个域名中没有GMail或帐户。我不想让他们的事情变得更难,只想用另一个帐户登录,而不是他们每天使用的个人电子邮件帐户 在谷歌脚本

我在网上复制了一个应用程序脚本,允许人们通过谷歌网站将文件直接上传到我谷歌硬盘的文件夹中,因为我是一名教师,而不是程序员

我按照程序员的指示,授权了应用程序,但当我想“部署为web应用程序”时,当我选择“谁有权访问应用程序:”时,唯一可用的选项是“我自己”和“我域内的任何人”,但“任何人”都不可用

这对我来说很重要,因为我的学生打算上传文件给我,他们中的许多人在我的同一个域名中没有GMail或帐户。我不想让他们的事情变得更难,只想用另一个帐户登录,而不是他们每天使用的个人电子邮件帐户

在谷歌脚本改变之前,我能够运行一个非常类似的脚本

提前谢谢你

/* The script is deployed as a web app and renders the form */
function doGet(e) {
  return HtmlService.createHtmlOutputFromFile('form.html')
            .setSandboxMode(HtmlService.SandboxMode.NATIVE);
  // This is important as file upload fail in IFRAME Sandbox mode.
}

/* This function will process the submitted form */
function uploadFiles(form) {

  try {

    /* Name of the Drive folder where the files should be saved */
    var dropbox = form.myName + " " + form.myEmail;
    var folder, folders = DriveApp.getFoldersByName(dropbox);

    /* Find the folder, create if the folder does not exist */
    if (folders.hasNext()) {
          folder = folders.next();
    } else {
      folder = DriveApp.createFolder(dropbox);
    }

    /* Get the file uploaded though the form as a blob */
    var blob = form.myFile;    
    var file = folder.createFile(blob);    

     /* Set the file description as the name of the uploader */
    file.setDescription("Uploaded by " + form.myName);

    /* Return the download URL of the file once its on Google Drive */
    return "File uploaded successfully " + file.getUrl();

  } catch (error) {

    /* If there's an error, show the error message */
    return error.toString();
  }

}

如果您希望每个人,甚至是浏览您的网站时未登录Google帐户的学生,都能够上载文件(=使用脚本),那么您应该将部署菜单中的
身份执行应用程序,从
用户访问应用程序
更改为
,然后您可以选择
任何人,甚至是匿名的


问题是,没有登录Google帐户的用户、来宾都被标记为匿名。

如果您希望每个人,甚至是在浏览您的网站时没有登录Google帐户的学生,都能够上载文件(=使用您的脚本)然后,您应该将部署菜单中的
Execute-app-as
从访问应用程序的
用户更改为
Me
,然后您就可以选择
任何人,甚至是匿名的


问题在于,未登录Google帐户的用户、来宾被标记为匿名。

这是因为您的Google应用程序管理员限制了与公众共享驱动器文件的访问权限。和你的管理员谈谈,放松限制。我相信可以在组织级别设置限制,以便更容易为您破例。

这是因为您的google apps管理员限制了与公众共享驱动器文件的访问权限。和你的管理员谈谈,放松限制。我相信可以在组织级别设置限制,以便更容易为您创建例外。

脚本文件在哪里?您是通过“管理站点”控制台直接在站点上创建脚本,还是将其托管在驱动器中?脚本文件在哪里?您是通过“管理站点”控制台直接在站点上创建脚本,还是将脚本托管在驱动器中?@ZigMandel,是的,考虑到
“我的域内的任何人”
选项,您可能是对的,但是为了实现他所寻求的结果,他仍然必须执行我在后面描述的操作。我的意思是设置“任何人甚至匿名”访问。是的,他知道这一步,因此他看到了选项“我域中的任何人”@ZigMandel,不一定,因为当您将
执行为
选项设置为
用户访问web应用程序时
有两种选择-
只有我自己
任何人
,他实际上是这么说的。当我选择“谁有权访问应用:”时,唯一可用的选项是“我自己”和“我域内的任何人”,但“任何人”不可用。我想我的域名选项中的任何人都在,因为他实际上在域名中?团体?尽管如此,这意味着他实际上拥有被管理员禁止的访问权限,他仍然需要更改该选项,或者他只需要更改该选项。@ZigMandel,是的,您可能正确地考虑了
“我的域内的任何人”
选项,但是为了实现他所寻求的结果,他仍然需要做我在后面描述的动作。我的意思是设置“任何人甚至匿名”访问。是的,他知道这一步,因此他看到了选项“我域中的任何人”@ZigMandel,不一定,因为当您将
执行为
选项设置为
用户访问web应用程序时
有两种选择-
只有我自己
任何人
,他实际上是这么说的。当我选择“谁有权访问应用:”时,唯一可用的选项是“我自己”和“我域内的任何人”,但“任何人”不可用。我想我的域名选项中的任何人都在,因为他实际上在域名中?团体?然而,这意味着他或者实际上拥有管理员禁止的访问权限,他仍然需要更改该选项,或者他只需要更改该选项。