はじめに
ちょっとマイナーなAPIを使ってみたい...ということで、NHKの番組表APIを利用した時のメモ書きをまとめてみました。
登録があれこれ面倒ではないかと心配したのですが、意外と簡単に登録→利用まで進めることができました。
ユーザーの登録
-
NHK番組表APIのページにアクセスします。
- [ユーザー登録がお済でない方はこちら]をクリックして、ユーザー登録画面に入ります。
- [アカウントの作成]タブを選択して、以下の事項を記入して[アカウントの作成]をクリックします。
- 上記のメールアドレスに5分程度で仮登録完了のメールが届きます。
- 確認のメールが届くまで少しタイムラグがあるので、メールアドレスの指定を間違えたかと思ったほどです。
- メールに記載されたURLに遷移して、パスワードを変更(設定)すれば登録完了となります。
アプリの登録
以下の手順は、NHK番組表APIのページにログインしていることが前提となります。
- NHK番組表APIのページにアクセスして、[登録済みアプリはこちら]をクリックします。
- [My Apps]タブを選択して、[新規アプリ登録]をクリックします。
- 以下の事項を記入して、[Create App]をクリックしてアプリを登録します。
- App Name:アプリ名を記入します。
- アプリのURL:任意入力項目です。
- プロダクト:デフォルト値の[NHK Program Guide API]しか選べません...
APIキーの取得
以下の手順は、NHK番組表APIのページにログインしていることが前提となります。
- NHK番組表APIのページにアクセスして、[登録済みアプリはこちら]をクリックします。
- [My Apps]タブを選択して、先程に登録したアプリ名をクリックします。
- 遷移した先のページで、[キー]タブを選択するとAPIキーを取得できます。
APIの利用例
-
curl
コマンドで「現在提供している番組」のJSONファイルを取得して、その結果をjq
コマンドで解析して表示しています。 -
curl
コマンドとjq
コマンドについては、こちらの記事もご覧ください。 - JSON中の文字列はダブルクォートで囲まれているため、
sed
コマンドを使って不要なダブルクォートを除去しています。
nhk_api.sh
# !/bin/bash
json=$(curl -s http://api.nhk.or.jp/v2/pg/now/130/g1.json?key={あなたのAPIキー})
echo '[現在放送中の番組]'
echo 'チャンネル:'$(echo ${json} | jq '.nowonair_list.g1.present.service.name' | sed 's/\"//g')
echo '番組名:'$(echo ${json} | jq '.nowonair_list.g1.present.title' | sed 's/\"//g')
echo 'サブタイトル:'$(echo ${json} | jq '.nowonair_list.g1.present.subtitle' | sed 's/\"//g')
出力結果
[現在放送中の番組]
チャンネル:NHK総合1
番組名:ニュースウオッチ9▽かんぽ生命 不適切販売1万2800件余 その実態は…
サブタイトル:▽通知表が年明けに?全国53自治体でシステム障害▽ジャパンライフ債権者集会 首相に説明求める声明▽ガンダム・富野監督 若者へのメッセージ▽羽生・紀平 全日本へ
注意点
- 画面上では複数の「アプリ」を登録できそうな雰囲気ですが、「アプリ」は「APIキー」と不可分な存在となっています。
- そのため、「アプリ」を既に登録した状態で[新規アプリ登録]をクリックすると、以下のようにエラーとなってしまいます。