ブログ | XIMIX

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

作成者: Sakina Ooka|2025.04.21

はじめに

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(サイミクス)は商標登録出願中です