1
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【GAS】Googleドライブ:特定アカウントの共有ドライブへのアクセス権一括付与

Posted at

はじめに

本記事は、Google Workspaceを利用している組織のシステム管理者が、
Googleドライブの共有ドライブにおいて、特定アカウントのアクセス権を
一括で付与する手順について説明します。

実行結果

execlog.png
※上図および本記事に登場する団体・名称・ID等はすべて架空のものです。

事前準備

  1. 対象のすべての共有ドライブ対し、システム管理者(スクリプト実行者)を
    「管理者」として追加します。

    [Google Workspace管理コンソール] → [アプリ] → [Google Workspace] → [ドライブとドキュメントの設定] → [共有ドライブの管理] → 対象の共有ドライブの[メンバーを管理] → システム管理者のアカウントを入力 → [管理者]を選択 → [共有]
    AdminConsole.png

  2. 新しいスプレッドシートを作成し、Apps Scriptに「Drive API」を追加します。

    [Googleシート] → [新しいスプレッドシートを作成] → [拡張機能]タブ → [Apps Script]→
    サービス[+] → [Drive API] → [追加]
    AppsScript.png

  3. 上記で作成したシートに、アクセス権を設定する共有ドライブ一覧を作成します。

image.png
共有ドライブ一覧は、私の書いた以下の記事なども参考にしてください。
【GAS】Googleドライブ:共有ドライブID一覧出力

スクリプト

定数「req_body」の値として、以下の情報を入力してください。
 - role: 対象アカウントの役割(アクセス権の種別)[注]
 - type: アカウント種別
 - value: 対象アカウントのメールアドレス
初回実行時はプロジェクトへの承認が求められますので、許可してください。

script.gs
const act_sheet = SpreadsheetApp.getActive().getActiveSheet();
const array = act_sheet.getDataRange().getValues();
const req_body = {
  "role" : "reader",  // organizer, fileOrganizer, writer, reader
  "type" : "user",    // user, group, domain, anyone
  "value": "xxx@hogehoge.com" // Email address
};
const query_param = {
  "sendNotificationEmails" : false,
  "supportsAllDrives" : true
};

function myFunction() {
  array.shift();

  try{
    for (let i in array) {
      let drv_id = array[i][1];
      let drv_name = array[i][0];
      Drive.Permissions.insert(
        req_body, drv_id, query_param
      );
      console.log("Permission added : " + drv_name)
    }
  } catch (err) {
    console.log (err);
  }
}

参考

Googleドライブにおける役割(アクセス権種別)の英語と日本語の対応は以下のとおりです。
詳しいアクセス権の内容については、参考にもあげたGoogleのリファレンスをご確認ください。

English 日本語
organizer 管理者
fileOrganizer コンテンツ管理者
writer 投稿者
reader 閲覧者
1
3
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?