Javascript &引用;“共享驱动器”;谷歌应用程序脚本中的支持
我正在用GoogleApps脚本编写一个JavaScript工具来检查文档的一些属性,比如“所有链接是否有效”、“权限设置是否正确”等等。我正在使用中记录的API按ID查找文件、检查其权限、在Google Drive中定位文件等,但我发现“共享驱动器”与该API不太兼容 比如说,Javascript &引用;“共享驱动器”;谷歌应用程序脚本中的支持,javascript,google-apps-script,google-drive-api,google-drive-shared-drive,Javascript,Google Apps Script,Google Drive Api,Google Drive Shared Drive,我正在用GoogleApps脚本编写一个JavaScript工具来检查文档的一些属性,比如“所有链接是否有效”、“权限设置是否正确”等等。我正在使用中记录的API按ID查找文件、检查其权限、在Google Drive中定位文件等,但我发现“共享驱动器”与该API不太兼容 比如说, 对于共享驱动器的根文件夹,只返回“驱动器”而不是驱动器名称 即使mygroup@domain.com是共享驱动器文件夹的“管理器”。getAccess('mygroup@domain.com“)为无,而文件夹。get
- 对于共享驱动器的根文件夹,只返回“驱动器”而不是驱动器名称
- 即使
是共享驱动器文件夹的“管理器”。getAccess('mygroup@domain.com“)为无,而mygroup@domain.com
为空文件夹。getViewers()
- 迭代器中不(始终)包括共享驱动器中的某些文件夹
驱动器的哪些功能可以与共享驱动器一起使用,哪些功能不能与共享驱动器一起使用?使用而不是DriveApp
- 实际上,
DriveApp
范围有限,不支持共享驱动器
- 但若您使用了
高级驱动器服务
,yuo将能够在应用程序脚本中使用支持共享驱动器的所有方法
示例:
function myFunction() {
var sharedDriveName = Drive.Drives.get("XXXXXXXXXXXXXXXXXXX").name;
//it is important to specify that the folder is located on a shared drive with {"supportsAllDrives": true}
var folderOnDriveName = Drive.Files.get("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",{"supportsAllDrives": true}).title;
var folderPermissions = Drive.Permissions.list("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",{"supportsAllDrives": true});
}
这回答了你的问题吗?这是相关的,但我认为我遗漏的主要一点是:(1)是的,我不能使用DriveApp API与团队驱动器一起工作,(2)我可以从Google Apps脚本中使用DriveAPI v2,这两个脚本对于在链接中提问的用户来说似乎都是已知的。因此,我认为在这方面,这个问题并不完全是重复的,下面ziganotschka提供的答案为我提供了重要信息。我知道,我以前遇到过Drive.Drives
,但我不明白,一旦启用了高级驱动服务,它也可以从谷歌应用程序脚本中使用,我以为这只是一个web API。因此,现在给定一个GoogleAppsScript.Drive.File
我可以用类似Drive.permissions.list(f.getId(),{supportsAllDrives:true})的东西检查权限。find((p)=>p.emailAddress=”mygroup@domain.com");代码>。谢谢大家!@tgpfeiffer-请注意,为了将来的参考,不仅驱动器,而且所有高级服务都围绕着相应的RESTAPI,所以您可以互换使用它们