MENU

GASでURLからGoogleドライブのフォルダIDを取得する方法

GoogleドライブのフォルダIDを取得する方法の記事のアイキャッチ画像
悩む女性

GASで、Googleドライブのフォルダを指定するにはどうすればいいんだろう?

GASを使っていると、Gmailの添付ファイルやPDF化した書類を、GASでGoogleドライブに保存したいときがよくあると思います。

そんなときに、どうやってGoogleドライブのフォルダIDを取得すればいいのか悩むのではないでしょうか?

そこでこのページでは、パターン別に、GoogleドライブのフォルダIDを取得する方法を紹介します。

すぐに使えるコードつきなので、参考にしてみてください。

目次

手動でGoogleドライブのフォルダIDを取得する方法

まずは、手動でGoogleドライブのフォルダIDを取得する方法を紹介します。

GoogleドライブのフォルダIDは、フォルダURLの「folders/」の後の文字列です。

GoogleドライブのフォルダURL内にあるフォルダID

たとえば、上記のフォルダURLなら「1vEsbqAyxZDntE-Kp6Ran4AA52NhoAJsV」の部分がフォルダIDですね。

GoogleドライブのフォルダIDを取得するコード

ここからは、GoogleドライブのフォルダIDを取得する方法を2パターン紹介していきます。

URLをコード内に書く

以下の「ここにURLをペーストする」にURLを入れれば「folderId」にフォルダIDが格納されます。

URLをシングルコーテーション「’」で挟むのを忘れないでくださいね。

// 保存するGoogle DriveのフォルダのURL
let folderURL = 'ここにURLをペーストする';
// 保存するGoogle DriveのフォルダのフォルダID
let folderId = folderURL.split('/folders/')[1];
// 取得したフォルダIDを出力して確認する
console.log(folderId);

このコードのフォルダIDを取得する部分(4行目)を詳しく解説します。

4行目の解説
  • splitメソッドを使って、フォルダURLを「/folders/」の前後で分割する。
  • 「https://drive.google.com/drive/u/0」と「フォルダID」の2つの文字列ができる。
  • 分割された文字列は配列に入る。
  • 配列の2つ目の要素がフォルダIDになる。
  • [1]のかたちで、配列の要素番号を指定して、フォルダIDを「folderId」に格納する
悩む女性

4行目で起こっていることが多すぎ……

わたし

わからないときは、とりあえずコードをコピペして使えばOKです!

URLをスプレッドシートのセルに入力する

次に、フォルダURLをスプレッドシートのセルに入力した場合の、フォルダIDの取得方法を紹介します。

基本的には、先ほどのコードと同じです。

1〜6行目にセルからフォルダURLを取得するコードを追加しました。

//アクティブなスプレッドシートを取得する
let ss = SpreadsheetApp.getActiveSpreadsheet();
//アクティブなシートを取得する
let sheet = ss.getActiveSheet();
// 保存するGoogle DriveのフォルダのURLをA1セルから取得する
let folderURL = sheet.getRange('A1').getValue();
// 保存するGoogle DriveのフォルダのフォルダID
let folderId = folderURL.split('/folders/')[1];
// 取得したフォルダIDを出力して確認する
console.log(folderId);

さいごに

GASを書いていると、GoogleドライブのフォルダIDを使う機会は多いです。

何度も調べなくていいように、このページをお気に入りに登録しておくのがおすすめです。

すぐにコードを見返せますよ。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

コメント

コメントする

コメントは日本語で入力してください。(スパム対策)

CAPTCHA

目次