HUX布斯
2022-10-08 14:43:07
我正在 Google Apps Script 中編寫一個 JavaScript 工具來檢查文檔的某些屬性,例如“所有鏈接都有效”、“權(quán)限設(shè)置是否正確”等等。我正在使用https://developers.google.com/apps-script/reference/drive/drive-app中記錄的 API 按 ID 查找文件、檢查其權(quán)限、在 Google Drive 等中定位它們,但我發(fā)現(xiàn)“共享驅(qū)動器”不能很好地與該 API 配合使用。例如,對于共享驅(qū)動器的根文件夾,F(xiàn)older.getName()僅返回“驅(qū)動器”而不是驅(qū)動器的名稱,即使mygroup@domain.com是共享驅(qū)動器的“經(jīng)理”,folder.getAccess('mygroup@domain.com')也是 NONE 并且folder.getViewers()是空的,共享驅(qū)動器中的某些文件夾不(總是)包含在DriveApp.getFolders()迭代器中。特別是第二點現(xiàn)在對我來說是一個障礙,但我在這里錯過了什么?我應(yīng)該使用其他一些 API,還是我應(yīng)該報告它只是一個錯誤?是否有一些關(guān)于Drive我可以和不能與共享驅(qū)動器一起使用的 API 功能的文檔?
1 回答
蕪湖不蕪
使用Advanced Drive Service而不是
TA貢獻(xiàn)1796條經(jīng)驗 獲得超7個贊
使用Advanced Drive Service而不是DriveApp
實際上,共享驅(qū)動器
DriveApp不受范圍限制但是,如果您啟用,您
Advanced Drive Service將能夠在 Apps Script 中使用支持共享驅(qū)動器的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
提交
取消
