Google apps script 访问Team Drive中的文件和文件夹
我正在使用GoogleApps脚本和驱动器API的V2(我认为V3在脚本中还不可用)来自动化团队驱动器内部的文件创建。我想用脚本添加编辑器,但没有成功 我可以使用标准Google apps script 访问Team Drive中的文件和文件夹,google-apps-script,google-drive-api,google-drive-shared-drive,Google Apps Script,Google Drive Api,Google Drive Shared Drive,我正在使用GoogleApps脚本和驱动器API的V2(我认为V3在脚本中还不可用)来自动化团队驱动器内部的文件创建。我想用脚本添加编辑器,但没有成功 我可以使用标准DriveApp方法中的FolderIterator访问团队驱动器和子文件夹 尝试1 function addUserToTeam(电子邮件、文件夹){ //打开团队驱动器并获取所有文件夹 var teamFolders=DriveApp.getFolderById('TEAMDRIVEIDSTRING').getFolders()
DriveApp
方法中的FolderIterator
访问团队驱动器和子文件夹
尝试1
function addUserToTeam(电子邮件、文件夹){
//打开团队驱动器并获取所有文件夹
var teamFolders=DriveApp.getFolderById('TEAMDRIVEIDSTRING').getFolders();
var folders=[“folderIdToMatch”]//这可能包含多个文件夹
试一试{
//循环文件夹ID数组
对于(var i=0;i,经过更多的研究和挖掘,这里是针对具有类似用例的人的解决方案
您可以访问整个团队驱动器中的文件或驱动器中的文件,但不能访问文件夹。这样做是为了防止不应有访问权限的人意外访问敏感信息目录
要授予访问权限,supportsTeamDrives
是请求正文中的一个可选参数,它接受一个boolean
值。将其设置为true
并传入API调用。下面是一个成功的函数
实现我所描述的结果的唯一方法是使用多个团队驱动器,并根据某个事件授予用户访问权限。另一个选项是在项目期间将用户提升为完全权限(从编辑或查看),然后在完成时撤销
将用户添加到团队驱动器
(这也适用于驱动器中的单个文件)
//在启用了驱动器API的v2的情况下使用Google Apps脚本
函数addToTeamDrive(){
变量资源={
“值”:电子邮件字符串,
“类型”:“用户”,
“角色”:“作者”
}
//如果您有多个团队驱动器,请循环并提供访问权限
试一试{
var TeamDrive=Drive.Teamdrives.list();
对于(变量i=0;i
经过更多的研究和挖掘,以下是针对具有类似用例的人员的解决方案
您可以访问整个团队驱动器中的文件或驱动器中的文件,但不能访问文件夹。这样做是为了防止不应有访问权限的人意外访问敏感信息目录
要授予访问权限,supportsTeamDrives
是请求正文中的一个可选参数,它接受一个boolean
值。将其设置为true
并传入API调用。下面是一个成功的函数
实现我所描述的结果的唯一方法是使用多个团队驱动器,并根据某个事件授予用户访问权限。另一个选项是在项目期间将用户提升为完全权限(从编辑或查看),然后在完成时撤销
将用户添加到团队驱动器
(这也适用于驱动器中的单个文件)
//在启用了驱动器API的v2的情况下使用Google Apps脚本
函数addToTeamDrive(){
变量资源={
“值”:电子邮件字符串,
“类型”:“用户”,
“角色”:“作者”
}
//如果您有多个团队驱动器,请循环并提供访问权限
试一试{
var TeamDrive=Drive.Teamdrives.list();
对于(变量i=0;i
您可以访问,但有许多操作是无法执行的,如removeFile()
或getUrl()
,即使您具有完全访问权限。您仍然可以获得
{error: "Exception: Cannot use this operation on a Team Drive item."}
解决方法是在文件/文件夹上使用setTrashed()
而不是removeFile()
。您可以访问,但有很多类似removeFile()
或getUrl()
的操作,即使您具有完全访问权限,您仍然可以获得
{error: "Exception: Cannot use this operation on a Team Drive item."}
解决方法是使用setTrashed()
而不是removeFile()
在文件/文件夹上。你可以只在团队驱动中添加一个组并使用GAS管理该组吗?这似乎是最简单的处理方法。你可以只在团队驱动中添加一个组并使用GAS管理该组吗?这似乎是最简单的处理方法。关于这个问题-我想使用相同的方法,但我不知道如何使用GAS管理该组e能够合并我在工作表上的文件ID。我如何在“try{}…”问题中循环该文件ID?我想使用相同的方法,但我对如何合并我在工作表上的文件ID感到困惑。我如何在“try{}…”问题中循环该文件ID