passportでOAuth認証した際のFacebookGraphAPIの呼び出し方
node.jsにおいてpassportを使用してOAuth認証した際のFacebookGraphAPIの呼び出し方についてメモしておく。
TwitterAPIの呼び出しについては下記ページが詳しいです。
http://qiita.com/sckm/items/e6a7fd669e2367bc441f
コード
passport._strategies.facebook._oauth2.getProtectedResource( 'https://graph.facebook.com/me', user.token, function (err, data, response) { if(err) { console.log('error: facebook api.'); res.send({'error': 'An error has occurred'}, 400); return; } console.dir(data); res.send({ data: data, }); });
Twitterの場合と異なる点
- _oauthではなく_oauth2
- tokenSecretを使用しない(そもそもOAuth認証時に得られるtokenSecretはundefined)
- HTTPメソッドを指定しない
正直、なぜoauth2を使うのかとか、HTTPメソッド指定しなくていい理由とか分かってないです。Passportの公式ドキュメントにも記載がないので、これが本当に正しい実装なのか怪しいかもです。
とりあえず動いてはいるので、FacebookGraphAPIを呼び出したい方は参考にして頂けたらと思います。
おすすめ参考文献
Node.js+Expressの構成の使い方を解説してくれます。初めてNode.jsやExpressに取り組む方の最初にオススメです。
はじめてのNode.js -サーバーサイドJavaScriptでWebアプリを開発する-
- 作者: 松島浩道
- 出版社/メーカー: ソフトバンククリエイティブ
- 発売日: 2013/03/15
- メディア: 大型本
- クリック: 15回
- この商品を含むブログ (5件) を見る