忍者ブログ

ひこひこべろぐ

赤坂のシステム開発会社「プラムザ」で働くSEかもしれない人のお仕事関連の話に漫画の紹介を混ぜ込んだりするブログ

なんかこんな顔の芸人いるよね

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

コメント

ただいまコメントを受けつけておりません。

なんかこんな顔の芸人いるよね

元々は、ハッキングし得た女子学生の身分証明写真をインターネット上に公開し、公開した女子学生の顔を比べて勝ち抜き投票させる「フェイスマッシュ」というゲームを考案したことが名前の由来。

お巡りさん、この人です。

※実際に半年間の保護観察処分受けたらしいです。


というわけで今回はそんな歴史を持つFacebookのAPIについて。
全部書くときりがないので「下準備~ウォールの取得」に主眼を置きます。

まあぶっちゃけ書き残しても次使うときには仕様変わってそうだけどねw

■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□

◆開発者&アプリ登録 ~ アクセストークンの取得

Facebookアカウントさえあれば、ちょいちょいと情報登録すればすぐにAPIは使えます。
以下の手順で登録を行い、アクセストークンを取ります。

①開発者プロフィール&アプリ登録
 以下が取れます。
  ・Client ID
  ・Client Secret
②アクセストークン取得
https://graph.facebook.com/oauth/access_token?client_id={①のClientID}&client_secret={①のClientSecret}&grant_type=client_credentials
これで大体なんとかなります。なんなかったらすまぬ。

◆アクセストークンの注意点

アクセストークンは以下の二種類。
  1. APP TOKEN 永続トークン(今のところ)。情報取得のみならこっち
  2. User TOKEN 短期的なトークン。投稿とかもするならこっち。
前述の方法でとれるのは前者ね。
んで、このトークンを使って情報取得をするときにセットで使うのは「PAGE_ID」。
以下のあたりを見ればいいと思うよ!

www.facebook.com/"PAGE_ID"
ここでClientIDを指定したりとかで躓く人は多いみたい。

ていうか実際「は?トークンもIDも指定してるじゃん?ほんくそ」みたいな感じに躓きました。
この辺は色々なサイトを見てても書き方が紛らわしいとこはあると思う。

ちなみに弊社の優秀なプログラマであるMaster.O様が調査したところ、
ClientID、ClientSecretを"|"でつないでもトークン代わりになります。
もはやあんま取る意味ないねw

◆ウォールの取得

アクセストークンがあれば、
https://graph.facebook.com/v2.x/{PAGE_ID}/{欲しいもの}?access_token={APP_TOKEN}
とかで指定したユーザの情報をjson形式で取得できます。

ウォールを取得する場合、大体のサイトでは上記の{欲しいもの}"feed"を指定するように記載があります。

ただし、ここに若干の注意。

The feed of posts (including status updates) and links published by this person, or by others on this person's profile. There are other edges which provide filtered versions of this edge:

  • /{user-id}/posts shows only the posts that were published by this person.
まあ要は
"feed"指定だとなんか余計なのも取れます。
"posts"指定だとそのアカウント本人の投稿のみが取れる。
たぶん大体そんな感じ。

◆Graph API Explorer

おまけでこんなんもあります。
https://developers.facebook.com/tools/explorer

わざわざプログラム組んだりURLに変数渡したりしなくても、Json取得してみたりできる便利ツール。
前述のfeedとpostsの違いとか簡単に実験できたりします。



とまあ、そんな感じです。
Facebookに関しては割と素直に情報取得できると思うよ!
PR

コメント

プロフィール

HN:
わひこ
性別:
男性
職業:
SE
趣味:
漫画
自己紹介:
漫画大好き。

P R