我正在嘗試編寫一個腳本,該腳本將返回與活動用戶共享的每個文件的名稱。但是,我遇到了.getAccess()方法的問題。有沒有辦法從腳本中排除未與用戶明確共享的文件? (又名與鏈接域中的所有人共享的文件)
編輯:
所以我一直在擺弄的代碼一點,事實證明,該代碼被放在用「在誰擁有該鏈接的域名所有人」共享文件打破。所以現在的問題是避免與每個人共享的文件,但仍然在用戶的驅動器中彈出而沒有明確地與他們共享。
有沒有辦法說:
if (file.getAccess(user) == "VIEW" && file is explicitly shared with user)
or
&& file is not "Shared with everyone in the domain with the link"
老問題: 當我使用它是從一個特定ID訪問的文件,它完美的作品。 例如:
var id = "1HoJbszb1uLF1RZpU_IPv3O648pIeYs4IWK2kbbQ4IaA";
var file = DriveApp.getFileById(x);
Logger.log(file.getAccess(user));
登錄:
EDIT
但是,如果我試圖通過在用戶的驅動器的每個文件進行迭代,我會得到一個錯誤「與指定ID的項目可能被發現,或者你沒有權限訪問它「。
我已經試過了這兩種方式:
while (files.hasNext()){
var raw = files.next();
var id = raw.getId();
var file = DriveApp.getFileById(id);
if (file.getAccess(user) == "EDIT") Logger.log(file.getAccess(user));
}
和:
while (files.hasNext()){
var file = files.next();
if (file.getAccess(user) == "EDIT") Logger.log(file.getAccess(user));
}
我得到同樣的錯誤試圖左右逢源。我甚至檢查過以確保.hasNext()方法正在工作,並且確保當我要求日誌只列出每個文件的名稱時,只要.getAccess()永遠不會被調用(因此不會如果聲明)。
while (files.hasNext()){
var file = files.next();
Logger.log(file.getName());
}
有什麼想法是怎麼回事?