【GAS】GoogleドライブのフォルダIDの取得方法
Google Apps Script(GAS)でスプレッドシートを扱う時など、対象ファイルが存在するフォルダのIDを指定して処理することが多いですよね。この記事では、フォルダIDの概要と確認・取得する方法について解説します。
フォルダIDとは
Google DriveのフォルダIDとは、Google Drive内で該当フォルダがどこあるのかを示す一意の固有IDのことです 。
Google DriveのフォルダやGoogle系のアプリであればURLに記載されています(確認方法は後述します)。
フォルダIDの利用シーン
フォルダIDを指定することで、フォルダに属するファイル(画像やスプレッドシート等)を読み込んだり、フォルダへのファイル書き出しを行うことが可能です。
//指定フォルダのファイルの読み込み
var folder = DriveApp.getFolderById(フォルダID);
var files = folder.getFiles();
//指定フォルダへの画像書き出し
DriveApp.getFolderById(フォルダID).createFile(jpeg);
フォルダIDの確認方法とGASでの取得方法
フォルダIDを取得するには①URLで確認する方法と②GASで取得する方法があります
URLから確認する方法
もっとも簡単な方法はURLを確認することです。Google Drive内ででは下記のステップで確認できます。
①IDを知りたいフォルダを開く
②URLをチェックし『…/folders/{フォルダID}』を確認
GASで取得するサンプルコード
「実行GASファイルが所属するフォルダ」や「GASで処理するスプレッドシートが所属するフォルダ」など、対象ファイルからさかのぼってフォルダIDを取得することも可能です。
下記は『【実行しているGASエディタを立ち上げたスプレッドシート】が所属するフォルダのID』を取得するサンプルコードです。
function myFunction() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var ssId = ss.getId(); // スプレッドシートIDを取得
//
var parentFolder = DriveApp.getFileById(ssId).getParents(); // IDからスプレッドシートのファイルを取得⇒親フォルダを取得
var folderId = parentFolder.next().getId(); // 親フォルダIDを取得
console.log(folderId); // フォルダID
}
特定のアプリが属しているフォルダを対象とする場合、上記コードの「ssId」に対象のファイルIDを入力すればその親フォルダのIDが取得できるはずです。
まとめ
この記事では、フォルダIDを取得する方法について解説しました。
- フォルダIDとは、Google Drive内で該当フォルダがあるのかを示す固有ID
- ID指定により、フォルダに属するファイル読み込みやフォルダへのファイル書き出しができる
- フォルダIDは対象フォルダURLの『…/folders/{フォルダID}』で確認できる
- GASの実行で、ファイルが存在する親フォルダのIDを取得可能
フォルダIDを使ったGASコードのサンプルは下記の記事等で解説を行っています。