在为该文件的当前用户分配权限之前,我们可以在Google Drive中使用Google App Maker应用程序和Drive API创建文件吗?

这是场景:

我们在Google App Maker上为组织的所有用户构建了一个中央应用程序,但是,根据需要限制对不同模块的访问。

挑战在于,每当用户“ Y”创建新项目时,就会在Google云端硬盘中创建与该项目相对应的新文件夹,该文件夹由包含所有项目的Google帐户“ X”拥有。

我想要的是在X的Google云端硬盘中创建一个文件夹,然后将访问/查看/编辑/添加用户的权限授予该用户Y。但是,Y必须不能访问所有X驱动器,但仅驱动与其项目对应的文件夹。

挑战在于,所有这些工作都在后端无缝进行,而无需X所有者的干预。因为我的理解是Drive Api将适用于App Maker应用程序中的当前用户。当任何用户登录并且X不必手动向用户授予权限时,我需要使这种情况发生。

s1234567890206 回答:在为该文件的当前用户分配权限之前,我们可以在Google Drive中使用Google App Maker应用程序和Drive API创建文件吗?

是的,应该不会太复杂,每当用户Y单击“创建新项目”之类的按钮时,您都应该调用一个客户端函数来处理服务器函数的调用。可以在名为“ onClick”的按钮属性上调用客户端功能。 因此,在“ onClick”输入中,您应该引用要执行的函数:NewProject();

客户端脚本

function NewProject() {
  google.script.run
    .withFailureHandler(function(error) {
    console.error(error)
  })
    .withSuccessHandler(function(result) {
    console.info(result)
  })
    .CreateFolder();
}

此函数在客户端调用,仅调用服务器函数并返回有关其执行成功与否的信息。

服务器脚本

function CreateFolder() {
  var folder = DriveApp.createFolder(Session.getActiveUser().getEmail()+' Folder');
  folder.addEditor(Session.getActiveUser().getEmail());
  return(folder.getUrl());
}

每当您在驱动器上创建文件夹时,该文件夹的访问权限都受到限制:只有云端硬盘帐户所有者才能访问此文件夹。

因此,第一行就是我们正在做的事情:我们正在创建一个名为“ Y文件夹”的文件夹,该文件夹只能由云端硬盘帐户所有者访问。

要新建的文件夹的第二行adds an Editor要保留,因此我们只需要将其邮件放在方括号之间即可。

要使该应用程序以开发人员帐户的身份运行,请在“应用程序设置”中进行设置,只要注意该应用程序可以代表开发人员帐户运行即可。

这只是一个摘要,但希望它阐明您可以做什么和不能做什么。

有关AppMaker教程,请访问:

https://developers.google.com/appmaker/tutorials

本文链接:https://www.f2er.com/3060432.html

大家都在问