Skip to content

Google Apps Scriptで定期的にNHK番組表をチェックする

Notifications You must be signed in to change notification settings

arukusays/nhk-pg-watcher

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

33 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

clasp

nhk-pg-watcher

NHK番組表を定期的にチェックするGoogle Apps Script.
指定したキーワードを含む番組がヒットした場合は、メールに通知する。

動機

お気に入りの番組がBSかつ不定期で放映されている。 が、我が家のHDDレコーダーは、BSだとキーワード録画予約ができない。。

向こう1週間分の番組情報が提供されるNHK番組表APIに定期的に(1日1回)アクセスしよう!

準備

NHK番組表APIのAPIキーを取得する。

https://api-portal.nhk.or.jp/

パラメータの指定

下記パラメータをグローバルスコープに定義する。 ロジック本体の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アドレス)しか指定できないかも?

Apps Scriptを登録する

  • Googleドライブ > 新規 > Google Apps Script
  • main.jsやパラメータ用js(別ファイルにした場合)を登録する;貼り付ける、ないし、Apps Script開発用ツールのclaspを使ってアップロードする

Apps Scriptのトリガーを設定する

定期的に実行するため、トリガーを設定する

  • トリガー > トリガーの追加
  • 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] 魔改造の夜 トースター高跳び

以上 

参考

About

Google Apps Scriptで定期的にNHK番組表をチェックする

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published