Google Apps Scriptで実現!共有ドライブ作成方法

 2025.04.22 Sakina Ooka

はじめに

NI+C 大岡です。
本ブログは、GASを利用して共有ドライブを作成する方法をご紹介します。

1.事前準備

1.1. Google Drive API の Advanced Service の有効化
「エディタ」 > 「サービスを追加」 > 「Drive API」 > 「追加」を選択しDriv APIを有効にします。
(※今回はバージョンv3で設定しています)


1.2. マニフェストファイル(appsscript.json)の表示・編集
「プロジェクトの設定」 > 「「appsscript.json」マニフェスト ファイルをエディタで表示する」にチェックを入れて、スクリプト画面に「appsscript.json」を表示します。


1.3. 「appsscript.json」に以下コードを追加する。
 "oauthScopes": [
    "https://www.googleapis.com/auth/drive",
    "https://www.googleapis.com/auth/script.external_request"
  ]

oauthScopesは、GoogleサービスやAPIにアクセスするための権限を指定するものです。
このコードで指定されている2つのスコープは以下の内容を示しています。

https://www.googleapis.com/auth/drive
 Googleドライブへのアクセスを許可するスコープで、Googleドライブ内のファイルを作成、
 表示、編集、削除といった操作を実行できます。
https://www.googleapis.com/auth/script.external_request
 Google Apps Script(GAS)が外部のHTTPリソースにアクセスすることを許可するスコープ
 で、Google Apps Scriptで外部サービスを利用した処理を実装することが可能になります。

追加後のイメージ
{
  "timeZone": "Asia/Tokyo",
  "exceptionLogging": "STACKDRIVER",
  "runtimeVersion": "V8",
  "dependencies": {
    "enabledAdvancedServices": [
      {
        "userSymbol": "Drive",
        "version": "v3",
        "serviceId": "drive"
      }
    ]
  },
  "oauthScopes": [
    "https://www.googleapis.com/auth/drive",
    "https://www.googleapis.com/auth/script.external_request"
  ]
}
 

2.共有ドライブの作成

以下のスクリプトを実行し、共有ドライブを作成します。
今回は「test_o3ka」の共有ドライブを作成してみます。
function createSharedDrive() {
var makingdriveName = 'test_o3ka'; //自分が作成したい共有ドライブ名を入力する 
  Logger.log("作成する共有ドライブ名:" + makingdriveName);

  var url = 'https://www.googleapis.com/drive/v3/drives?requestId= ' + Utilities.getUuid();
  Logger.log("url:" + url);
  var options = {
    method: 'POST',
    contentType: 'application/json',
    headers: {
      'Authorization': 'Bearer ' + ScriptApp.getOAuthToken(),
    },
    payload: JSON.stringify({
      name: makingdriveName
    }),
    muteHttpExceptions: true
  };

  var response = UrlFetchApp.fetch(url, options);
  var result = JSON.parse(response.getContentText());
  Logger.log(result.id);

  var driveId = result.id;
}

共有ドライブに「test_o3ka」が作成されていることが確認できます。


<処理概要>

2.1. 共有ドライブ名の設定
var makingdriveName = 'test_o3ka'; //自分が作成したい共有ドライブ名を入力する
2.2. APIリクエストURLの構築
var url = 'https://www.googleapis.com/drive/v3/drives?requestId= ' + Utilities.getUuid();
Logger.log("url:" + url);

・Google Drive API の「共有ドライブ作成エンドポイント」を使用しています。
 エンドポイントは https://www.googleapis.com/drive/v3/drives です。
・クエリパラメータ requestId にはユニークなリクエストIDを指定しています。
 この値はUtilities.getUuid()によって自動生成されます。このIDはリクエストの重複を防ぐためのものです。
・Logger.log("url:" + url) はデバッグ用コードで、生成されたURLをログに出力します。

2.3. HTTPリクエストのオプション設定

 var options = {
    method: 'POST',
    contentType: 'application/json',
    headers: {
      'Authorization': 'Bearer ' + ScriptApp.getOAuthToken(),
    },
    payload: JSON.stringify({
      name: makingdriveName
    }),
    muteHttpExceptions: true
};

method: 'POST'
 リクエストメソッドが POST であることを指定し、APIにデータを送信します。
Authorization
 Google Apps Script の OAuth トークン (ScriptApp.getOAuthToken()) を利用して、
 Google Drive API への認証を実施します。
payload
 作成したい共有ドライブの名前を JSON フォーマットとして送信します。
 キーnameはGoogle Drive API の仕様で共有ドライブ名を指定するためのキーです。
muteHttpExceptions: true
 HTTPエラーが発生しても例外をスルーせずに応答内容を取得できるようにします。

2.4. APIリクエストを実行する
 var response = UrlFetchApp.fetch(url, options);
・UrlFetchApp.fetch() を使って作成した共有ドライブ用のリクエストを Google Drive APIに送信します。
・APIリクエストの結果が response に格納されます。

2.5. レスポンスを解析して共有ドライブIDを取得
var result = JSON.parse(response.getContentText());
var driveId = result.id;
 
・APIレスポンスから取得した情報を JSON フォーマットとして解析し、その内容をresult に保存します。
・Google Drive API のレスポンスに含まれる共有ドライブの一意のIDを取得し、このスクリプトでは driveId
 として保存しています。

おわりに

今回は、Google Apps Script (GAS) を用いた共有ドライブの作成手順を解説しました。
自動で共有ドライブを作成したい際に活用してみてください。

Google Cloud、Google Workspace に関するご相談はXIMIXへ!

Google Cloud、Google Workspaceに関する お問い合わせはこちら
XIMIX(サイミクス)は商標登録出願中です


Google Apps Scriptで実現!共有ドライブ作成方法

BACK TO LIST