AppsScript

GoogleドライブのフォルダURLを一括取得する

特典送付やキャンペーンなどで、Googleドライブなどオンラインストレージに収めたファイル(動画やAmazonギフト券など)を別々の人にメール送信したい、という事がありませんでしょうか?
同じファイルを一斉に送信するなら簡単ですが、人それぞれ違う場合などはいちいちメール添付していては大変です。

こういう時、「がんばって一人ひとりメール送信したよ」というような精神論を言ってしまう人もいれば、
テクニカルな人だと「PHPのSendmailを応用してメールエンジンを作り~」という人もいると思いますが、
作業は省略するに越したことは無いので、今日はもっと簡単な方法をご紹介します。

タイトルにあるGoogleドライブを使う方法なら、フォルダの中身を入れ替える事もできるし別々のURLをリストし、メールディーラーなどで別々の相手に一斉送信することができます。方法は簡単とは言いにくいのですが、いちいちメール送信するよりは遥かに楽です。

1.フォルダ群と同じ階層にスプレッドシートを作る

このシートにURLを取得するものです。

2.AppsScriptを起動

ある程度の知識がある人なら知っていることですが、Googleの用意してるAppsScriptを使ってアプリケーションを作る事ができます。

Googleドライブのアップデートは頻繁なのですぐ位置が変わりますが、いま書いているタイミングではGoogleスプレッドシートの機能拡張にあります。

起動したらコードを書き込みます。
モザイク部分は親フォルダのID、URLのユニークな文字列の部分です。


function listSubFoldersToSheet() {
  var parentFolder = DriveApp.getFolderById('(フォルダのID)'); 
  var subfolders = parentFolder.getFolders();
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getActiveSheet();
  sheet.appendRow(["Folder Name", "URL"]); 
  
  while (subfolders.hasNext()) {
    var folder = subfolders.next();
    sheet.appendRow([folder.getName(), folder.getUrl()]);
  }
}

3.デプロイする

終わったらウェブアプリ形式でデプロイします。
途中でGoogleアカウントのパーミッションを求められたらアカウント情報を入力します。

名前をつけます。
この場合使い捨てになるので、何でもよいかと思います。

実行する

完成したらこの画面に戻り、実行します。

元のスプレッドシートにフォルダ名とURLが表示されていたら完了!

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です