Bye Bye Moore

PoCソルジャーな零細事業主が作業メモを残すブログ

node-youtubeAPI-simplifierでYoutube Data API v3を動かして学ぶ

node-youtubeAPI-simplifierはその名の通りnodeでYoutube Dat APIを楽に扱うためのライブラリです。
実はこれ、先行するyoutube-apiというライブラリのラッパーだったりします。
以下のyoutube data apiが頭に入っている人には不要でしょうが、
私のような軟弱者はこういった有難いライブラリの力を借りて手を動かしながらやらないとダメっぽいです。
developers.google.com

実際のところ

実装例では、TestTubeNetworkという世界のニュースを扱うチャンネルから、日本について言及している番組の先頭3個を引っ張り出しています。

環境導入

まずは、必要なライブラリを導入。r-jsonについては後述

$ npm i r-json node-youtubeapi-simplifier

スクリプト本体

// test.js
var ReadJson = require("r-json");                                                        
var ytapi = require('node-youtubeapi-simplifier');                                       
                                                                                         
const CREDENTIALS = ReadJson("./credentials_api.json");                                  
                                                                                         
ytapi.setup(CREDENTIALS.web.key);                                                        
ytapi.searchFunctions.channelInternalSearch('TestTubeNetwork', 'Japan', 3).then(function\
 (data) {                                                                                
    console.log(data);                                                                   
});
APIキーを退避

参考もとではAPIキー直書きしてましたが……幾ら何でもヤヴァすぎるのでr-jsonを活用しで別ファイルに退避させてあります。
当然、credential_api.jsonに所定様式でキー書かないとダメなので注意です。

実行

$ node test.js

実行すると、執筆時点では以下のようなデータが返ってきます

[ { videoId: 'EhzCuL4g1Jw',
    title: 'Why Doesn\'t Japan Hate The US?',
    thumbnails: { default: [Object], medium: [Object], high: [Object] },
    publishedAt: '2015-05-23T12:00:02.000Z',
    description: 'Subscribe! http://bitly.com/1iLOHml Despite tense relations in the past, the U.S. and Japan have become close political and social allies. So, why doesn\'t Japan ...' },
  { videoId: '9p0ZkMvZpSw',
    title: 'Why Does South Korea Hate Japan?',
    thumbnails: { default: [Object], medium: [Object], high: [Object] },
    publishedAt: '2015-08-30T12:00:00.000Z',
    description: 'Why China Hates Japan http://testu.be/1F0qMuj Subscribe! http://bitly.com/1iLOHml Japan and South Korea\'s relations have left unhealed wounds stemming ...' },
  { videoId: 'OzFcF7s-dD8',
    title: 'What If China & Japan Went To War?',
    thumbnails: { default: [Object], medium: [Object], high: [Object] },
    publishedAt: '2015-07-05T18:00:01.000Z',
    description: 'Why China Hates Japan http://testu.be/1LDIRlO Subscribe! http://bitly.com/1iLOHml Recent territorial tensions between China and Japan have resurfaced.' } ]