我制作了一個腳本,用于接收需要從訪問給定 Google 驅動器檔案夾中洗掉的用戶電子郵件串列。這是具有洗掉用戶功能的代碼段:
function remove_user(drive_folder,user_email){
if(drive_folder.getAccess(user_email) != "NONE"){
Logger.log("removing user: " user_email);
drive_folder.revokePermissions(user_email);
}
}
呼叫 revokePermission 方法時會引發例外:
例外:訪問被拒絕:DriveApp
問題是,該腳本確實第一次詢問我的電子郵件帳戶的 DriveApp 權限,我給了它(其他 DriveApp 方法在同一個腳本中作業得很好)。此外,我的電子郵件帳戶有權從我定位的 google 驅動器檔案夾中洗掉用戶(我可以使用我的 google 帳戶手動洗掉用戶)。
我很感激任何幫助。
uj5u.com熱心網友回復:
- 您登錄的用戶需要是檔案的所有者才能洗掉其他人的權限。
- 如果這是作業區帳戶,請確保在管理控制臺中為您或您的域激活 DriveApp。
uj5u.com熱心網友回復:
按照設計,您無法洗掉共享檔案夾的所有者。如果你試圖以編輯的身份去做,你的例外就會出現。如果您試圖移除自己(作為所有者),Exception: Invalid argument: file.owner將會出現。
這就是它的作業原理。檔案夾(或與此相關的檔案)始終有一個所有者,無論它是如何共享的。您可以在此處閱讀有關 Google Drive 中權限如何作業的更多資訊。
當然,使用 AppsScript,您可以DriveApp.revokePermissions()像手動操作一樣洗掉檔案夾的其他編輯器。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/404527.html
標籤:
