HUX布斯
2022-10-08 14:43:07
我正在 Google Apps Script 中編寫一個 JavaScript 工具來檢查文檔的某些屬性,例如“所有鏈接都有效”、“權限設置是否正確”等等。我正在使用https://developers.google.com/apps-script/reference/drive/drive-app中記錄的 API 按 ID 查找文件、檢查其權限、在 Google Drive 等中定位它們,但我發現“共享驅動器”不能很好地與該 API 配合使用。例如,對于共享驅動器的根文件夾,Folder.getName()僅返回“驅動器”而不是驅動器的名稱,即使[email protected]是共享驅動器的“經理”,folder.getAccess('[email protected]')也是 NONE 并且folder.getViewers()是空的,共享驅動器中的某些文件夾不(總是)包含在DriveApp.getFolders()迭代器中。特別是第二點現在對我來說是一個障礙,但我在這里錯過了什么?我應該使用其他一些 API,還是我應該報告它只是一個錯誤?是否有一些關于Drive我可以和不能與共享驅動器一起使用的 API 功能的文檔?
1 回答

蕪湖不蕪
使用Advanced Drive Service而不是
TA貢獻1796條經驗 獲得超7個贊
使用Advanced Drive Service而不是DriveApp
實際上,共享驅動器
DriveApp
不受范圍限制但是,如果您啟用,您
Advanced Drive Service
將能夠在 Apps Script 中使用支持共享驅動器的Drive API v2的所有方法
樣本:
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});
}
添加回答
舉報
0/150
提交
取消