在管理一個大型組織中成員的雲端權限,每當有新的大量成員加入時
我們就必須手動一個一個開雲端權限,真的是超級累人的工作,有時候甚至不止一個雲端硬碟
如今有 GAS 我們就可以實作「團隊檔案權限管理小幫手」!
可以利用 Google Apps Script 來批次管理團隊成員在 Google Drive 上的檔案權限啦~
今天舉一個比較小型的例子,分為六步驟來說明:
function managePermissions() {
// 定義 Google Sheets 的 ID,這個 Sheets 用來儲存檔案ID和團隊成員Email
var sheetId = '你的GoogleSheetID';
var sheet = SpreadsheetApp.openById(sheetId).getSheetByName('Permissions'); // 假設有個名為 "Permissions" 的工作表
// 取得檔案與成員資料
var data = sheet.getDataRange().getValues();
for (var i = 1; i < data.length; i++) { // 從第二列開始,第一列是標題
var fileId = data[i][0]; // 假設第一欄是檔案ID
var email = data[i][1]; // 假設第二欄是成員的Email
var role = data[i][2]; // 假設第三欄是權限 (如:VIEWER 或 EDITOR)
updatePermission(fileId, email, role);
}
}
DriveApp
來更新每個檔案的權限。根據成員的角色(查看者或編輯者)來設置相應的權限。function updatePermission(fileId, email, role) {
var file = DriveApp.getFileById(fileId);
if (role === 'VIEWER') {
file.addViewer(email); // 增加為查看者
Logger.log('Added ' + email + ' as a viewer to file: ' + fileId);
} else if (role === 'EDITOR') {
file.addEditor(email); // 增加為編輯者
Logger.log('Added ' + email + ' as an editor to file: ' + fileId);
} else {
Logger.log('Invalid role specified for ' + email + ' on file: ' + fileId);
}
}
Permissions
,並填入以下欄位:
VIEWER
或 EDITOR
。例如:
File ID / Folder ID | Role | |
---|---|---|
1aBcDeFgHiJkLmNoPqRs | member1@example.com | EDITOR |
1aBcDeFgHiJkLmNoPqRs | member2@example.com | VIEWER |
1xYzUvWxAbCdEfGhIjKl | member3@example.com | EDITOR |
managePermissions()
函數,程式會自動讀取 Google Sheets 中的資料,並根據每個成員的權限設置相應的檔案分享權限。function removePermission(fileId, email, role) {
var file = DriveApp.getFileById(fileId);
if (role === 'VIEWER') {
file.removeViewer(email); // 移除查看者
Logger.log('Removed ' + email + ' as a viewer from file: ' + fileId);
} else if (role === 'EDITOR') {
file.removeEditor(email); // 移除編輯者
Logger.log('Removed ' + email + ' as an editor from file: ' + fileId);
}
}
managePermissions()
函數。這樣的團隊檔案權限管理器可以自動化地管理 Google Drive 檔案的查看或編輯權限~
尤其對於需要頻繁更新團隊成員或權限的情境非常實用!
之後就再也不用一個一個設置團隊成員的權限,可以快速用 google sheet 來做管理與追蹤唷!