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

GASを使ってGoogleドライブのマイドライブのフォルダIDを取得したいんだけど、どうやったらいいのかよくわからなくて…
猫男
猫男
catman
catman
心配するな、猫男。catmanが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を出力する。

なるほど!DriveAppを使えばフォルダのIDが簡単に取得できるんだね!
猫男
猫男
catman
catman
正解だ、猫男。これでスクリプトからDrive内のフォルダをより自由に操作できるようになるだろう。

練習問題

次の課題に取り組んでみよう。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を取得し、ログに表示する。

フォルダが存在しない場合は、条件文を使って「フォルダが見つかりません」とログに出力する。