初心者向け!GASでマイドライブのIDを簡単に取得する方法


GASでマイドライブのIDを取得する基本
GASはGoogle DriveのフォルダやファイルのIDを簡単に取得できる便利なツールさ。DriveAppクラスを使うことで、様々な操作が可能になる。
DriveAppを使ったフォルダIDの取得方法
まずは、DriveAppの基本的な使い方から説明しよう。
function getMyDriveId() {
var folder = DriveApp.getRootFolder();
Logger.log("マイドライブのIDは: " + folder.getId());
}
DriveAppクラスを使って、自分のマイドライブのフォルダIDを取得する方法だ。このスクリプトでマイドライブのルートフォルダのIDがログに出力される。
DriveApp.getRootFolder()メソッドは、マイドライブのルートフォルダを取得する。
取得したフォルダオブジェクトからgetId()メソッドを使い、フォルダのIDを取得する。
Google Drive内の特定フォルダのIDを取得する方法
特定のフォルダのIDが欲しい時は、フォルダ名を指定することでIDを取得できる。試してみよう。
フォルダ名からフォルダオブジェクトを取得
Drive内にある特定のフォルダを探す必要がある時には、この方法が役立つ。
function getSpecificFolderId(folderName) {
var folders = DriveApp.getFoldersByName(folderName);
while (folders.hasNext()) {
var folder = folders.next();
Logger.log(folderName + " のフォルダIDは: " + folder.getId());
}
}
フォルダ名を渡して、そのフォルダのIDを確認できるスクリプトだ。
DriveApp.getFoldersByName(folderName)メソッドは、指定した名前のフォルダをすべて取得する。
取得したフォルダをwhileループを使って巡回し、各フォルダのIDを出力する。


練習問題
次の課題に取り組んでみよう。GASを使って「プロジェクト」という名前のフォルダがマイドライブにあるかどうかを調べて、そのフォルダが存在する場合はIDを取得し、存在しない場合は「フォルダが見つかりません」とログに出力するスクリプトを書いてみよう。
解答・解説
function checkAndGetProjectFolderId() {
var folderName = "プロジェクト";
var folders = DriveApp.getFoldersByName(folderName);
if (folders.hasNext()) {
var folder = folders.next();
Logger.log(folderName + " のフォルダIDは: " + folder.getId());
} else {
Logger.log("フォルダが見つかりません");
}
}
このスクリプトは、指定したフォルダ名「プロジェクト」のフォルダが存在するかどうかを調べる。
フォルダが存在する場合は、そのフォルダのgetId()メソッドを使ってIDを取得し、ログに表示する。
フォルダが存在しない場合は、条件文を使って「フォルダが見つかりません」とログに出力する。