ホリエモンこと堀江貴文のメルマガを購読しています。
(収監中は獄中飯に興味が無く一度止めてしまいました。すみません。)
堀江貴文のブログでは言えない話
毎週月曜日更新で堀江さんが経済やビジネスの話を繰り広げていてほんと週刊少年ジャンプ読むの止めてよかったなと思ってます。はい。
このメルマガには「12.今週のメディアスケジュール」として堀江さんのスケジュールが載ってたりします。で、いつぞやのQAコーナーでこのスケジュールをGoogle Calendar等で共有してほしい的なことが書かれていたんですが、「スタッフもそんな時間ない」的な回答で一蹴されてました。
エンジニアな僕としてはそんなんフォーマットだけ決めてもらって自動でGoogle Calendarに登録するスクリプト書けばええやん、、、誰かが。僕はやらんで。僕はやらんで。大事なことやから二回言ったで。と思っていたわけです。
しばらく半分忘れてたんですが、@masuidriveさんの勉強会でGoogle Apps Script(以下GAS)はかなり便利だよ!というのを聞いて、ちょっと調べてみたらGmailにもCalendarにもアクセス出来ると。ということで書いてみました。リファクタリングまではあまり手が回らず、でも一応コメントはそれなりに書いてみました。
ソースの下に使い方も載せてるので良かったら使ってみてください。
スケジュール
メルマガに載ってるスケジュールはこんな形式をしています。
勝手に載せたら怒られるかも、、とビビって過去分ですw
■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■ 12.今週のメディアスケジュール 連載や書籍の上梓、ネット生放送やテレビ出演、講演など、メディア関連の 情報をまとめてお知らせします。ぜひご覧ください! ◆◇ 6/10(mon)◆◇ ~雑誌~ 『週刊プレイボーイ』連載 【ホリエモン×ひろゆきの なんかヘンだよね…】 ◆◇ 6/11(tue)◆◇ ~雑誌~ 『週刊朝日』連載 【週刊!ホリエモンのシャバ日記】 http://publications.asahi.com/ecs/24.shtml 『週刊アスキー』連載 【ホリエモンのコレいいかも!?】 http://weekly.ascii.jp/ ◆◇ 6/14(fri)◆◇ ~雑誌~ 『BODIVO』 http://www.shufu.co.jp/magazine/bodivo/ ◆◇ 6/15(sat)◆◇ ~雑誌~ 『DIME』 http://dime.jp/magazine/ ------------------------------
これを空行で区切ったものをひとつの予定としてカレンダーに登録していきます。
ソース
使い方
Google Driveで適当なドキュメントを新規作成します。
Tools→Script editor...
Blank Projectを選択します。
すると空のプロジェクトができます。
ここにgist(リンク先)のソースを貼り付けます。Gmailに届いたメルマガ「堀江貴文のブログでは言えない話」からスケジュールを抽出し、自分のGoogle Calendarに登録するGoogle Apps Script(ソースはこのエントリの一番下にも載せてます)
貼り付けて保存しようとするとダイアログが出てくるのでプロジェクト名を入れてOK
Select functionから「registHoriemonCalendar」を選択します。(関数名適当だなぁ。。)
実行!!
あらら、Authorization requiredというアラートが出てきてしまいました。これはGmailとCalendarにアクセスしていいかどうかを聞いてます。「Authorize」を選択します。
承認します。
閉じます。
気を取り直してもう一度、実行!!
このメッセージが出ている間が実行中になります。メッセージが消えたら実行完了。
実行結果
さて、Googleカレンダーに実行結果を見に行ってみましょう。
おお!反映されてますね。
ちなみにアジェンダではこんな感じです。
スケジュールのタイトルをどうしようか迷ったのですが、わかればいいやってことで内容を全部つなげてぶち込んでますw
定期実行したい
そんなあたなのためになんと!GASには定期実行するためのtriggerというものがあります。
triggerを新しく追加します。
こんな感じで設定してみましょう。これは、毎週月曜日9時〜10時の間に実行ですね。(triggerだけはまだ検証できてません。。)
終わりに
ということで、このスクリプトを使えばホリエモンスケジュールがあなたのカレンダーに!欲しい人は使ってみてください。
って思ったのですけど、このGoogle Calendar自体を共有すればそれで事が済むのでは。。もちろん許可は必要ですけど。。ちょっと聞いてみようかな。
GASについての所感
GASかわいいよ。GAS。って感じですね。GmailとCalendarへのアクセスが簡単過ぎました。ログインアカウントが同じだから何でしょうけど、認証系のコードが一切必要ないのはいいですね。
この一行で「ホリエモン」カレンダーが取得出来ますからね。かなり楽ちんです。
var calendars = CalendarApp.getCalendarsByName('ホリエモン');
他にも色々と出来そうなのでちょくちょく触っていきたいと思います。
ちなみにGASについては主にこのサイトを参考にしました。
初心者のためのGoogle Apps Scriptプログラミング入門
初心者向けの内容がよくまとまっていて助かりました。