Youtube Data API使ってみた

読書感想にする予定だったところに書いていこうと思います。

※本当はQiita(キータ)などのエンジニア向けナレッジサイトとかに書くべき内容なんですが、そちらにアカウントがないのでこちらにメモ書きを記載。

今回、推しているとあるVtuberさんの配信リストDBを作りたいと思いたち、Youtube DATA APIに手を付けてみました。

 

APIの登録方法などの参照サイトは、最後に記載します。

メインで使用した検索用関数は、下記。

    var results = YouTube.Search.list('id,snippet', {
      q: '検索ワードをここに記載',
      type: 'video',
      eventType: 'completed',
      maxResults: 50, //データ取得数(初期値は5、0~50で設定可能)
      order: 'date',  //取得するデータの並び(日付の新しい順や他にも選べる)
      publishedAfter: str_data, //指定した期間以降
      publishedBefore: end_data, //指定した期間以前
      safeSearch:'none',
      videoType : "any"
    });

 

str_dataとend_dataは、「yyyy-MM-ddThh:mm:ssZ」となるように指定。

プログラムで実際に動かして見ると、「publishedAfter: str_data, //指定した期間以降」」が想定の動きをせず、実際には「publishedBefore: end_data, //指定した期間以前」のみ稼働していました。

 

取得するための関数は下記。

item.snippet.title    :配信タイトル
item.snippet.description :概要欄
item.snippet.publishedAt :時間(配信枠が準備された時間であり、実際に配信開始時間ではない)
item.id.videoId      :動画識別ID(動画ごとに設定されているID)
item.snippet.thumbnails.high.url :サムネイルのURL
 
まだ勉強中なので、新たにわかることがあるかもしれませんが、
Chrome拡張機能を入れると、Youtubeの動画ページごとに、
枠が開始された時間が表示されるようになるため、
データはどこかに存在するんだと考えています。
 
リストを作成する身としては、枠が作られた時間より、
枠の配信の開始時間の方が重要と見ているんですが。
 
なお、List内の指定に関しては、他にも動画サイズの時間で絞ることもできるようです。
 
今後も開発メモ追加予定です。
新しいことがわかったら、追記していきたいなあ。
 
 
参考文献