ページ

2015年9月28日月曜日

Node.jsを利用してYoutube APIにアクセスする。

Node.jsを利用したYootube APIのアクセスを行います。

まずはpackage.jsonを作りましょう。
npm利用のためです。

package.json
{
  "name": "youtube-sample",
  "version": "0.0.0",
  "description": "",
  "devDependencies": {
    "googleapis": "*"
  }
}

次にライブラリをインストールしましょう
先ほどのpackage.json同一フォルダで以下のコマンドを実行
npm install

本題の部分ですが先に認証ファイルを用意する必要があります。
ローカルで利用するためなのでoAuthの認証キーを取得する必要があります。

Google Developer Consoleへ移動し






認証情報へ移動します。

続いて「認証情報を追加」=>「サービスアカウント」を選択します。















最後に「JSON」を選択してダウンロードできるファイルを保存してpackage.jsonと同じフォルダーに置いてください












あとはただ使うだけだと10行前後で終わります。
youtube.js
var google = require('googleapis');
var OAuth2 = google.auth.OAuth2;
var key = require('./{ファイル名をDLしたファイルに変更}.json');
var jwtClient = new google.auth.JWT(key.client_email, null, key.private_key, ["https://www.googleapis.com/auth/youtube"], null);
jwtClient.authorize(function(err, tokens) {
    if (err) {
      console.log(err);
      return;
    }
    var youtube = google.youtube({ version: 'v3', auth: jwtClient });
    youtube.search.list({"part" : "id,snippet", q: "node.js"}, function(err2, datas) {
        if (err2) {
            console.log(err2);
            return;
        }
        for (var i = 0; i < datas.items.length; i++) console.log(datas.items[i]);
    });
});

これであとは実行だけ
node youtube.js
とすれば結果が帰ります。
Google側が用意しているライブラリを利用すれば簡単に出来るので
あとは検索の種類とかをドキュメントから探すだけで良いです。