我的公司與一家姊妹公司分拆,我們需要從大約 20 個檔案中洗掉訪問權限,每個檔案都有超過 100 個權限。經過一些研究,似乎唯一的解決方案是撰寫一個我的 atm 經驗為零的應用程式腳本。我嘗試將作業表檔案移動到一個有限的檔案夾,但檔案上已有的權限只是轉移了。洗掉檔案并重新上傳不是一種選擇,因為對于匯入范圍和查詢,鏈接需要保持不變。我唯一沒有嘗試過的是應用程式腳本,因為我不知道如何處理它們。我發現了一些模糊相似的解決方案,但我無法將它們應用于我的案例。此外,由于公司隱私,我無法共享該檔案,唯一相關的就是與該檔案共享并可以訪問該檔案的人數。
TLDR:我需要一個腳本來洗掉對當前作業表的所有訪問權限(編輯、查看、所有內容),但所有者除外。或者,一個腳本對特定檔案夾中的所有檔案執行相同的操作,因此我們可以轉儲其中的所有檔案并重置所有檔案的權限。
uj5u.com熱心網友回復:
嘗試這樣的事情:
function myFunction() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var editors = ss.getEditors();
var i = editors.length
while (i--) ss.removeEditor(editors[i]);
var viewers = ss.getViewers();
var i = viewers.length
while (i--) ss.removeViewer(viewers[i]);
}
要么:
function myFunction() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
ss.getEditors().forEach(e => ss.removeEditor(e));
ss.getViewers().forEach(v => ss.removeViewer(v));
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/452737.html
