NHK番組表を定期的にチェックするGoogle Apps Script.
指定したキーワードを含む番組がヒットした場合は、メールに通知する。
お気に入りの番組がBSかつ不定期で放映されている。 が、我が家のHDDレコーダーは、BSだとキーワード録画予約ができない。。
向こう1週間分の番組情報が提供されるNHK番組表APIに定期的に(1日1回)アクセスしよう!
下記パラメータをグローバルスコープに定義する。 ロジック本体のmain.jsとは別のjsファイルにしておく方が良さそう。バージョン管理対象と、機微情報の分離のため。
// NHK番組表APIのページから取得したAPIキー
const APIKEY = 'xxxxxxxxxxxxx';
// NHKの放送エリアとチャンネル
const AREA = '000';
const SERVICE = 'tv'; // BSを含む全てのTVチャンネル
// タイトルに含まれているかチェックしたいキーワード
const KEYWORDS = ['サッカーの園', '魔改造の夜', '昆虫すごいぜ'];
// キーワードに該当する番組がヒットした際の通知先
const RECIPIENT = 'xxxxxxx@gmail.com';
NHKの放送エリアとチャンネルの値は、下記URLのAPIドキュメントで確認し、指定すること。
https://api-portal.nhk.or.jp/doc-request
通知先は、Apps Scriptを登録するGoogleアカウント(gmailアドレス)しか指定できないかも?
- Googleドライブ > 新規 > Google Apps Script
- main.jsやパラメータ用js(別ファイルにした場合)を登録する;貼り付ける、ないし、Apps Script開発用ツールのclaspを使ってアップロードする
定期的に実行するため、トリガーを設定する
- トリガー > トリガーの追加
- 1日1回、特定の時間帯に実行する場合は下記の通り設定(他の項目も適当に)
- イベントのソースを選択:時間主導型
- 時間ベースのトリガーのタイプを選択:日付ベースのタイマー
- 時刻を選択:午前6時〜7時 ※GMT+09:00
キーワードにヒットした番組がある場合は、下記のようなメールが届く。
件名: Target Programs were found!!
本文:
キーワードを含む番組が見つかりました。
【06/25(日)】
- 22:55:00 [総合1] 魔改造の夜 名言集「DVDプレーヤーボウリング編」
【06/26(月)】
- 12:15:00 [Eテレ1] 趣味どきっ! 餃子(ぎょうざ)キングダム(3)「海を味方に」
- 21:30:00 [Eテレ1] 趣味どきっ! 餃子(ぎょうざ)キングダム(4)「無敵の皮はどれだ?」
【06/27(火)】
- 23:45:00 [総合1] 魔改造の夜 名言集「お掃除ロボット走り幅跳び編」
- 00:55:00 [Eテレ1] 笑わない数学 🈡ガロア理論
【06/28(水)】
- 21:00:00 [BS1] サッカーの園~究極のワンプレー~「ワントップ」
- 23:45:00 [総合1] 魔改造の夜 名言集「赤ちゃん人形綱登り編」
【06/29(木)】
- 19:30:00 [総合1] 魔改造の夜 トースター高跳び
以上