HTTPでPOSTするとこの番組通知を利用することができます。ヘッダーに"Access-Control-Allow-Origin: *"が付与されているのでWebページ内のJavaScript等から直接アクセスできます。
非公式番組通知
番組通知を登録する場合は https://abema.nakayuki.net/notify/add.php にPOSTします。POSTするパラメータは次のとおりです。
| POSTパラメータ | 内容 | 例 |
| client | 英数字でここにアクセスするプログラムの名前(拡張機能の名前等、開発者が自由に設定可) | test |
| slotid | 番組ID 番組個別ページURLのslots/以降の英数字です。 | 9gjSsHawDhzGXq |
| notifyminutes | 何分前に通知するかの分数(省略した場合5分になります。) | 5 |
| notifyto | 通知先JSON(mailto,linenotifyToken,postUrlの内必要分を指定) | {"mailto":"mail@example.com", "linenotifyToken":"LiNEnoTiFysaMpleToKEn123456789", "postUrl":"https://hooks.slack.com/services/XXXXXXX/YYYYYYY/ZZZZZZZZZ"} |
curl -X POST -d "slotid=番組ID" -d "client=curltest" -d "notifyminutes=5" -d 'notifyto={"mailto":"メールアドレス"}' https://abema.nakayuki.net/notify/add.php?pp=1&ds=1{"satus":"noSlot","error":"slot id not found"}のようなJSONが返ってきます。
| エラー時のstatusキーの内容 | 意味 |
| error | パラメータの異常などクライアント側が原因のエラー |
| servererror | サーバー側のエラー |
| noSlot | 指定されたIDの番組が見つからない(1日以上経った過去の番組も見つからなくなります。) |
| past | 指定されたIDの番組の通知時刻が過去((番組開始時刻-通知分数-30秒)<現在時刻) |
{
"status": "OK",
"token": "et5ivq410kos0ke",
"notifytime": 1497966900,
"notifyto": {
"mailto": "mail@example.com",
"linenotifyToken": "LiNEnoTiFysaMpleToKEn123456789"
},
"slotInfo": {
"id": "9gjSsHawDhzGXq",
"channel": "abema-news",
"startAt": 1497967200,
"endAt": 1497970800,
"title": "AbemaNews23時/AbemaSports!",
"displayProgramId": "89-22_s0_p834",
"series": "89-22",
"tsFlag": 0,
"tsEndAt": 0,
"slot": {
"id": "9gjSsHawDhzGXq",
"title": "AbemaNews23時/AbemaSports!",
"startAt": 1497967200,
"endAt": 1497970800,
"programs": [
{
"id": "89-22_s0_p834",
"episode": {
"sequence": 834
},
"credit": {
"casts": [
"AbemaCaster"
],
"crews": [
"テレビ朝日"
],
"copyrights": [
"(C)テレビ朝日",
"Abema News"
]
},
"series": {
"id": "89-22",
"themeColor": {},
"updatedAt": 1497577939
},
"providedInfo": {
"thumbImg": "thumb001",
"updatedAt": 1496972412
}
}
],
"tableStartAt": 1497967200,
"tableEndAt": 1497970800,
"highlight": "最新NEWS&話題/AbemaSports!",
"tableHighlight": "最新NEWS&ランキングは23:30頃~。23:40すぎ~AbemaSports!そのほか本日のJチャンネル、Abemaエンタメニュースなど",
"detailHighlight": "最新NEWS&ランキングは23:30頃~。23:40すぎ~AbemaSports!そのほか本日のJチャンネル、Abemaエンタメニュースなど",
"content": "最新NEWS&話題の情報をお届けする24時間ニュース。\n最新NEWS&ランキングは23:30頃~。つづいて23:40すぎ~AbemaSports!ほかに本日のJチャンネル、エンタメニュースもお送りします",
"displayProgramId": "89-22_s0_p834",
"mark": {
"live": true
},
"flags": {},
"channelId": "abema-news"
}
}
}
通知登録を削除するには https://abema.nakayuki.net/notify/delete.php にPOSTします。POSTするパラメータは"token=削除用トークン"だけです。{"status":"OK"}が返ってきたら成功です。
curlコマンドの例: curl -X POST -d "token=et5ivq410kos0ke" https://abema.nakayuki.net/notify/delete.php