特典送付やキャンペーンなどで、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が表示されていたら完了!