Node.jsでTwitter API 1.1のあれこれ
スポンサーリンク
Node.jsでTwitter API 1.1を使う方法を。nodeのモジュールで「twitter」も使えるんだけど、あれこれラッピングされているもんで、Twitter APIとの対応がよく分からないし、機能も限定されている。ということでoauthモジュールで使う方法を以下に。
Twitterのカスタマキーなどの取得
以下のURLを参照にAPIをキックするときに必要なキーを取得します。
TwitterのAPIを使用するために必要なキーを取得する手順 - Hello API
oauthモジュールのインストール
oauthが入っていない場合インストールしてください。
npm install oauth
app.js側の設定
http://127.0.0.1:3000/get/tw/<スクリーン名>とかで、ajaxでgetとしてくるという例として以下のように記載。getTwUserはコントローラ側に設定する、exportsのやつです。
app.get('/get/tw/:val?', routes.getTwUser);
コントローラ側の設定(例:index.js)
/* グローバル変数として設定 */ var OAuth = require('OAuth'); var oauth = new OAuth.OAuth( 'https://api.twitter.com/oauth/request_token', 'https://api.twitter.com/oauth/access_token', 'your consumer_key', 'your consumer_secret', '1.0A', null, 'HMAC-SHA1' ); var g_key1 = 'your access_token_key'; var g_key2 = 'your access_token_secret'; exports.getTwUser = function(req, res){ //ユーザ情報を引っ張ってくるクエリの例 req.params.valにクライントから指定したscreen nameが入ります。 var query = 'https://api.twitter.com/1.1/users/show.json?screen_name=' + req.params.val; oauth.get(query,g_key1,g_key2,function (err, data){ if (err) console.error(err); //クライアント側に取得結果データをjsonで送信します。 res.send(JSON.parse(data)); }); };
クライアント側のスクリプト(index.ejs)
ajaxでgetする関数getTwDataDetail()を呼び出します。
<input type="text" class="field" id="tw_deital" name="tw_detail" placeholder="screen name"> <button onclick="getTwDataDetail()">get</button>
クライアント側のスクリプト(main.js)
エラー処理はお任せします。
function getTwDataDetail(){ var val = $("#tw_deital").val(); url = "http://127.0.0.1:3000/get/tw/" + val, $.get(url,function(data,rs){ if(rs=='success'){ console.log(data); } }); }
うん。勉強って大事。
Twitter API ポケットリファレンス (POCKET REFERENCE)
- 作者: 山本 裕介
- 出版社/メーカー: 技術評論社
- 発売日: 2011/07/15
- メディア: 単行本(ソフトカバー)
- 購入: 3人 クリック: 247回
- この商品を含むブログ (43件) を見る
シングルページWebアプリケーション ―Node.js、MongoDBを活用したJavaScript SPA
- 作者: Michael S. Mikowski,Josh C. Powell,佐藤直生,木下哲也
- 出版社/メーカー: オライリージャパン
- 発売日: 2014/05/24
- メディア: 大型本
- この商品を含むブログ (1件) を見る
はじめてのNode.js -サーバーサイドJavaScriptでWebアプリを開発する-
- 作者: 松島浩道
- 出版社/メーカー: ソフトバンククリエイティブ
- 発売日: 2013/03/15
- メディア: 大型本
- クリック: 15回
- この商品を含むブログ (5件) を見る