解析したAPIリスト

VTFLAB 52d125f3a2 Update 'README.md' 3 months ago
README.md 52d125f3a2 Update 'README.md' 3 months ago

README.md

とりあえずわかった所だけ、即席で適当なので間違っている所があると思われる

■番組表API

好みの条件で

https://abemafresh.tv/proxy/Programs;count=20;isAsc=true;offset=0;status=upcoming?_csrf=test

予約番組表なら(orderBy=scheduledStartAt)を追加

https://abemafresh.tv/proxy/Programs;count=20;isAsc=true;offset=0;orderBy=scheduledStartAtstatus=upcoming?_csrf=test

  • count=取得番組数
  • isAsc=(昇順、降順)isboolen
  • offset=取得開始位置(0~取得番組数 0は一番開始時刻が早い番組)
  • orderBy=SQLのセレクト文 予約番組表を取りたい場合指定する(*1)
  • status=(upcoming.予約 onair.配信中 archive.アーカイブ)
  • _csrf=ランダム文字列 CSRF対策 番組ページからhtmlより_csrfを取得して利用する必要がある

応答内容は各番組の情報を網羅出来る、長いので省略

*1 多分SQLだから以下が利用可能

[Pri] AS [Pri], [JobID] AS [JobID], [Name] AS [Name], [OwnerAppName] AS [OwnerAppName], [OwnerAppVersion] AS [OwnerAppVersion], [Status] AS [Status], [Size] AS [Size], [MessagesSent] AS [MessagesSent], [MessagesCompleted] AS [MessagesCompleted], [PackagedAt] AS [PackagedAt], [SubmittedAt] AS [SubmittedAt], [CompletedAt] AS [CompletedAt], [LastUpdatedAt] AS [LastUpdatedAt], [JobID] AS [JobID1], [ScheduledStartAt] AS [ScheduledStartAt], [ExpiresAt] AS [ExpiresAt], [ContactOnDays] AS [ContactOnDays], [DontContactBeforeSun] AS [DontContactBeforeSun], [DontContactAfterSun] AS [DontContactAfterSun], [DontContactBeforeMon] AS [DontContactBeforeMon], [DontContactAfterMon] AS [DontContactAfterMon], [DontContactBeforeTue] AS [DontContactBeforeTue], [DontContactAfterTue] AS [DontContactAfterTue], [DontContactBeforeWed] AS [DontContactBeforeWed], [DontContactAfterWed] AS [DontContactAfterWed], [DontContactBeforeThu] AS [DontContactBeforeThu], [DontContactAfterThu] AS [DontContactAfterThu], [DontContactBeforeFri] AS [DontContactBeforeFri], [DontContactAfterFri] AS [DontContactAfterFri], [DontContactBeforeSat] AS [DontContactBeforeSat], [DontContactAfterSat] AS [DontContactAfterSat], [NightAfterSun] AS [NightAfterSun], [NightAfterMon] AS [NightAfterMon], [NightAfterTue] AS [NightAfterTue], [NightAfterWed] AS [NightAfterWed], [NightAfterThu] AS [NightAfterThu], [NightAfterFri] AS [NightAfterFri], [NightAfterSat] AS [NightAfterSat], [UsePauseJob] AS [UsePauseJob], [PauseJobAt] AS [PauseJobAt], [ResumeJobAt] AS [ResumeJobAt]

■ランキング表 API

https://abemafresh.tv/proxy/Ranking;count=50;rankingType=daily?_csrf=test

応答内容は予約と同じ?

■番組情報API

https://abemafresh.tv/proxy/ProgramViews;programId=番号?_csrf=test

programId=番組ID

応答内容

  • "status":"onair" or "archive" or "upcoming"(配信しているかどうか upcomingは予約)
  • "viewCount":100 (累計来場者数)
  • "commentCount":40 (累計コメント数)
  • "isPause":false (配信が停止しているか、番組が終了しているわけではない)
  • "isArchiving":false (この番組はアーカイブかどうか)
  • "isArchivePublished":true (このアーカイブは公開されているか)
  • "isDisabledComment":false (コメント拒否設定になっているか)
  • "isLiveFreeTrial":false (プレミアム番組のおためし時間?があるかどうか)
  • "scheduledStartAt":"2016-11-18T15:00:00Z" (番組開始予約時間)
  • "scheduledEndAt":"2016-11-18T16:00:00Z" (終了予定時間 nullの場合は放送主側で設定無し)
  • "startAt":"2016-11 18T15:00:25Z" (実際に番組を開始した時間)
  • "endAt":null (番組が終了した時刻 nullの場合は放送中)
  • "liveStreamUrl":"https://movie.freshlive.tv/manifest/番組ID/live.m3u8" HLSプレイリスト(配信中のみ 配信以外ではtsが消えるので視聴不可になる)
  • "archiveStreamUrl":"https://movie.freshlive.tv/manifest/番組ID/archive.m3u8" HLSプレイリスト(アーカイブ時のみ)
  • "paymentStatus":"free" (有料配信かどうか)
  • "livePaymentType":"free" (有料の場合の支払いタイプ)
  • "archivePaymentType":"free" (アーカイブが有料かどうか)
  • "isAd":false (広告を設定しているか)
  • "scheduledAdEndAt":null (番組終了時に広告を表示するか? 現在は設定に無いので未実装?)