今回も間に合ったはずの marionnettezero です。

今回も Facebook の TIPS ですよ!
Facebook の API を使って Feed 等を取得すると中身が英語でとれっちゃった人はいないかな?
今回は、そいつを日本語で取得できちゃう秘密兵器を教えてしまうよ~
続きを見てね!


 

さて早速以下のソースを見てみてください。
感のよい人ならすぐにわかったと思うけど、そうです API の引数に 「locale」って引数があって
そこに取得したい言語を指定するだけで、その言語になってしまうのです。

※ デフォルトは、この locale が en_US になってしまっているので英語でかえってきちゃうのだね。


function getFeed ()
{
  // 戻り値の初期化
  $result = array();

  // フィードを取得
  $feed = $this->_facebook->api('/me/feed', 'GET', array('access_token' => $this->_access_token, 'limit' => 20, 'locale' => 'ja_JP'));

  // 自分のフィード がある場合
  if (isset($feed['data']) && count($feed['data']) > 0) {
    // フィード分ループする
    foreach ($feed['data'] as $value) {
      if (isset($value['message']) && $value['message'] != '')
        array_push($result, $value['message']);
      else if (isset($value['story']) && $value['story'] != '')
        array_push($result, $value['story']);
    }
  }

  // 戻り値を返す
  return $result;
}


余談ですが、上記のソースで message と story というのを取得していると思うけど、これは
message ならユーザが投稿した feed、story ならユーザの更新を受けて facebook が feed に追加した内容
という感じになっているんだよね。
意外と知らない TIPS ですよね。

他にもユーザのプロフィールデータがいろいろとれたりするのだけど、/me だけじゃとれないデータもあったりします。
それは次回にでも、また、お話しましょうね。

see you.