Google Apps ScriptーGoogle Driveでの操作について
最終更新日:2026年8月5日
目次
Google Apps ScriptでGoogle Driveを操作する準備
| 項目 | Google Apps Script | Excel VBA | Python |
|---|---|---|---|
| 主な用途 | Google Workspace自動化 | Excel業務自動化 | 汎用自動化・データ分析 |
| 学習難易度 | 低(JavaScript系) | 中 | 低〜中 |
| 実行環境 | クラウド(無料) | Windows/Excel必須 | ローカル or クラウド |
| Googleサービス連携 | 最高 | 低 | API経由で可 |
Scriptの準備
まず、Scriptの準備をします。新規のスプレッドシートを作成して(タイトルはGAS練習にしました)、メニューバーの「拡張機能」→「Apps Script」の順に進みます。

そうすると、Apps Scriptエディタという画面が開きます。スクリプトファイル名(コード.gs)や関数名(myFunction)を任意の名前にして、これで準備は完了です(タイトルは「GAS練習プロジェクト」にしました)。

Google Driveのフォルダを取得する
●「Google Apps ScriptでGoogle Driveのフォルダを取得」
Google Apps ScriptでGoogle Driveのフォルダを取得する場合は、DriveAppのgetFolderByIdメソッドを使用します。
DriveApp.getFolderById(フォルダID)←これでフォルダをオブジェクトとして取得することが出来ます。
IDを知る手段は、Google Driveでフォルダを開いている際に表示されているURLの以下の部分です。
https://drive.google.com/drive/folders/{フォルダID}
●「Google Driveを操作するスクリプトの実行」
例えば、以下のスクリプトを書きます。
function myFunction() {
const folder = DriveApp.getFolderById('xxxxxxxxxxxx'); // フォルダIDを指定
console.log(folder.getName());
}
※folder.getName()ですが、これはフォルダ名を取得するメソッドです。
そして、関数(myFunction)を選択した状態で「実行アイコン」(▶マーク)又は「Ctrl」+「R」で実行します。
●「Google Driveへのリクエストを承認」
初回の実行の場合は、Google Driveへのリクエストの承認を求められます。「Authorization required」というダイアログが表示されますので、「許可を承認」から承認作業を進めて下さい。
以降、いくつかのウィンドウが開かれますが、順次確認をして許可をしていって下さい。この一連作業が終わると、スクリプトからGoogle Driveの操作の許可をしたことになります。
Google Driveのファイルを取得する
Google Driveのファイルを取得する場合は、DriveAppのgetFileByIdメソッドを使用します。
DriveApp.getFileById(ファイルID)←これで、IDで指定したファイルをオブジェクトとして取得することが出来ます。
ファイルIDの取得は、Google Driveで対象ファイルを右クリックし、「共有可能なリンクを取得」を選択することで得られます。
→https://drive.google.com/open?id={ファイルID}
又は、Google Driveで対象ファイルのプレビューを開く→右上の「その他の操作」アイコン→「新しいウィンドウで開く」でも取得出来ます。以下が、その際のURLです。
https://drive.google.com/file/d/{ファイルID}/view
●「ファイルオブジェクトのファイル名を表示」
ファイルオブジェクトを取得して、そのファイル名をログ出力するスクリプトを紹介します。
function myFunction() {
const file = DriveApp.getFileById('xxxxxxxxxxxx'); // ファイルIDを指定
console.log(file.getName());
}
ファイル名の表示もgetNameメソッドで可能です。
createFileメソッドで内容を指定してファイルを作成する
Google Driveの特定のフォルダ内にファイルを作成するには、FolderオブジェクトへのcreateFileメソッドを使用します。
createFileには2種類の使い方がありますので、それぞれ紹介します。
1. ファイル名・内容・MIMEタイプを指定する方法
Folderオブジェクト.createFile(ファイル名, 内容, MIMEタイプ)
※MIMEタイプ―Webサーバとブラウザの間でやり取りされるデータの中でファイル形式を示す識別子。(例).pdf
●内容を指定してファイルを作成
以下のようなスクリプトで実行します。
function createFile() {
const folder = DriveApp.getFolderById('xxxxxxxxxxxx'); // フォルダIDを指定
folder.createFile('New File', 'Hello, world!', MimeType.PDF);
}
上記のように入力すると、指定したフォルダにPDFファイルが生成されます。
2. Blobオブジェクトを用いる方法
Folderオブジェクト.createFile(Blobオブジェクト)
※Blobオブジェクト―Apps Scriptサービスのデータ交換オブジェクト。ファイルに似た性質をもつ
●Blobオブジェクトを指定してファイルを作成
以下のようなスクリプトで実行します。
function createFile() {
const folder = DriveApp.getFolderById('xxxxxxxxxxxx'); // フォルダID
const file = DriveApp.getFileById('xxxxxxxxxxxx'); // ファイルID
const blob = file.getBlob();
folder.createFile(blob);
}
よくある質問(FAQ)
Q. getFolderByIdやgetFileByIdでフォルダ・ファイルが取得できない場合は?
フォルダID・ファイルIDの指定間違いが最も多い原因です。IDはURLの/folders/や/d/の後ろの文字列を過不足なくコピーしているか確認してください。それでも取得できない場合は、対象のフォルダ・ファイルにスクリプト実行者のGoogleアカウントの閲覧権限があるかも確認しましょう。
Q. createFileで既に同名のファイルがある場合はどうなりますか?
Google Driveは同一フォルダ内でも同名ファイルを別ファイルとして共存させられるため、上書きはされず新しいファイルが追加で作成されます。同名ファイルの重複を避けたい場合は、事前にfolder.getFilesByName()で既存ファイルの有無を確認する処理を入れるとよいでしょう。
Q. DriveAppとDrive API(高度なサービス)の違いは何ですか?
DriveAppはGoogle Apps Scriptに標準で組み込まれているシンプルなクラスで、本記事で紹介したフォルダ・ファイルの取得や作成など基本的な操作に向いています。一方、Drive API(高度なサービス)は事前に有効化が必要な代わりに、共有権限の詳細設定やファイルのバッチ処理など、より高度で細かい操作に対応しています。まずはDriveAppから試し、機能が不足する場合にDrive APIの利用を検討するとよいでしょう。
Q. 作成したファイルをフォルダではなくマイドライブ直下に置きたい場合は?
createFileをFolderオブジェクトではなくDriveAppに対して直接呼び出すことで、マイドライブ直下にファイルを作成できます(例: DriveApp.createFile('New File', 'Hello, world!', MimeType.PDF))。
Q. スクリプトを実行しても反映されないときは?
初回実行時は承認ダイアログの操作を最後まで完了しているかを確認してください。また、修正後のコードを保存(Ctrl+S)せずに実行していると古いコードのまま実行されてしまうため、保存してから実行アイコンを押すようにしましょう。
まとめ:Google Apps ScriptでGoogle Driveを操作する方法
この記事のポイント:
- フォルダの取得は
DriveApp.getFolderById(フォルダID)、ファイルの取得はDriveApp.getFileById(ファイルID)を使用する - フォルダID・ファイルIDはGoogle DriveのURLから取得できる
- ファイルの作成は
Folderオブジェクト.createFile()を使い、「ファイル名・内容・MIMEタイプ指定」と「Blobオブジェクト指定」の2種類の書き方がある - スクリプトエディタは現行UIでは「拡張機能」→「Apps Script」から開く
- 初回実行時はGoogle Driveへのアクセス許可(承認)が必要
Google Apps ScriptでGoogle Driveを操作する方法をいくつか紹介しました。本記事でまだ紹介していない操作も多くありますので、フォルダ・ファイルの取得や作成に慣れてきたら、他のメソッドにもぜひ挑戦してみてください。
関連記事
- Google Apps Script(スクリプト)とは?概要から使い方まで — GASの基本的な使い方やメリット・デメリットを解説
- Google Apps Script でGdrive(Gドライブ)に複数の新規フォルダを作成する方法 — 本記事のフォルダ取得と合わせて読みたいフォルダ作成の解説
- Google Apps Script でGmailを操作して一斉送信でメールを送る方法 — DriveAppと同様にGoogleサービスをGASから操作する例
- Google Apps Script のgetについて — 本記事で使用したgetFolderById・getFileByIdなどgetメソッドの解説
▼ アクロビジョンについて


