GASでドライブ権限を一括管理
GAS連携でドライブ権限を自動管理
Google Apps Script(GAS)を使えば、Google ドライブ内のファイルやフォルダに対する権限をプログラムで制御できます。GAS連携により、ユーザーの追加・削除を自動化し、運用コストを大幅に削減できます。まずは、スクリプトエディタで以下のように DriveApp を呼び出し、対象ファイルを取得します。
var file = DriveApp.getFileById('FILE_ID');
取得した file オブジェクトに対して addEditor や addViewer を呼び出すことで、ドライブ権限を設定できます。権限の変更は即時に反映され、共有リンクを持つユーザーに対しても適用されます。
addEditor・addViewerで編集者追加・閲覧者追加
編集者を追加する場合は addEditor(email) を使用し、閲覧者を追加する場合は addViewer(email) を使用します。以下は実際のコード例です。
function addUsers() {
var file = DriveApp.getFileById('FILE_ID');
// 編集者追加
file.addEditor('editor@example.com');
// 閲覧者追加
file.addViewer('viewer@example.com');
}
このスクリプトを定期実行することで、プロジェクトのメンバーが増減した際に自動で権限を更新できます。編集者追加と閲覧者追加はそれぞれ別々のメソッドで呼び出す必要がありますが、同じファイルに対して複数回呼び出すことも可能です。
removeEditor・setSharingで権限削除・共有設定
不要になったユーザーの権限を削除するには removeEditor(email) を使用します。権限削除は、編集権限を持つユーザーを除外する際に便利です。
function removeUser() {
var file = DriveApp.getFileById('FILE_ID');
file.removeEditor('oldeditor@example.com');
}
また、ファイル全体の共有設定を一括で変更したい場合は setSharing() を利用します。例えば、ファイルを「リンクを知っている全員に閲覧権限」を設定するには次のようにします。
function setPublicView() {
var file = DriveApp.getFileById('FILE_ID');
file.setSharing(DriveApp.Access.ANYONE_WITH_LINK, DriveApp.Permission.VIEW);
}
このように setSharing を使うことで、個別にユーザーを追加・削除する手間を省き、全体の共有設定を一括で管理できます。共有設定は組織内外の情報共有をスムーズにするために欠かせない機能です。
コメント
コメントを投稿