SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

DeveloperZine(デベロッパージン)- エンジニアの意思決定を支える技術情報メディア ProductZine

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

Facebookモバイルアプリ開発チュートリアル

Facebookモバイルアプリの開発方法

Facebookモバイルアプリ開発チュートリアル(3)

友達の情報を取得

 Facebookアプリのログインに成功したら、いよいよ友達の情報を取得します。友達の情報を持ってくるには、Facebookオブジェクト.getFriendsData(取得したい友人の数 , "randomかどうか" , ''取得したい情報”);のようにFacebookオブジェクトの getFriendsDataメソッドで取得します。

  • 第1引数:取得したい友人の数で0を指定すると全員分のデータが来ます
  • 第2引数:randomで取得するかどうかを指定
  • 第3引数:取得したい情報を指定

 第3引数の取得したい情報は、FacebookデベロッパーページのFQLユーザー情報一覧から選択することになります。その方法は、”取得したい情報1 , 取得したい情報2 , 取得したい情報3 , 取得したい情報4 , …”と、取得したい情報をカンマ区切りで指定します。

 今回は性別と写真データを取得したいので、'sex , pic_square'の2つを指定しています。これで、全員分のデータを、性別と写真のURLをランダムの配列に格納するデータができあがります。

fc.getFriendsData( 0 , "random" , 'sex , pic_square');

 データの取得が終わると、Facebookオブジェクトで"onGetFriendsData"イベントが発生します。ログインと同じ要領でリスナー登録をして、登録オブジェクトの onGetFriendsDataメソッドが実行されるようにします。fc.addEventListener("onGetFriendsData", this);がそのリスナー登録命令です。onGetFriendsDataメソッドの中身を見てみましょう。

this.onGetFriendsData = function()
{
    fc.removeEventListener("onGetFriendsData", this);
    if(fc.friendsDataArray.length <= 0)
    {
    alert("フレンド情報が見つかりませんでした");
    }
    else
    {
        //名前と写真の情報を取り出すメソッドを実行。
        onStart();
    }
};

 ログインの時と同じように、使わないリスナー登録は、 removeEventListenerで解除します。友人のデータは、FacebookオブジェクトのfriendsDataArrayに格納されています。この配列が、空であれば友人の情報を取得できなかったことになります。この例では、友人情報が得られた場合、新たにonStartメソッドを実行しています。では、onStartメソッドを見てみましょう。

function onStart()
{
  //情報を取得する。
  console.log(fc.friendsDataArray);
}

 console.logはGoogle ChromeのJavaScriptコンソールに内容を表示させるための命令であることは前に説明したとおりです。ここまでできたら、サーバーにアップして、Facebookデベロッパーページの「アプリ」で登録した、セキュリティで保護されたキャンバスのURLにアクセスしてみましょう。

 このときにGoogle ChromeのJavaScriptコンソールを使うとデバッグが容易になります。Google Chrome 上の右上のレンチアイコンをクリックして「ツール」のJavaScriptコンソールを選んでみましょう。

 JavaScriptコンソールが表示されるので、先ほどのアプリを実行してみましょう。

 ログインに成功したら、「ログインに成功しました」というメッセージが表示されます。FacebookオブジェクトのfriendsDataArrayに友人の情報が配列で取得できていることが確認できます。

 また、取得した配列には、友人のデータがObjectとして格納され、取得したい情報であるsexプロパティに性別のmaleまたはfemale、pic_squareプロパティに写真データのURLが格納されているのが確認できます。

 各データは、以下のように呼び出せます。

  • fc.friendsDataArray[0].pic_squareで0番目の友人の写真のURL
  • fc.friendsDataArray[1].sexで1番目の友人の性別

 ”random”を指定して取得しているので、アクセスするたびにfriendsDataArrayに格納される友人の順番は変わります。このfriendsDataArrayを使えば、男女比率と、男女それぞれ最初の5人分の写真を表示できます。

次のページ
作成したJavaScript

この記事は参考になりましたか?

Facebookモバイルアプリ開発チュートリアル連載記事一覧

もっと読む

この記事の著者

大渕脇 昭人(jActionプロジェクト)(オオフチワキ アキト(ジェイアクションプロジェクト))

Founder/ウェブデベロッパー。音響メーカーハードエンジニアを経て、アニメーション映像、コンテンツ制作へ転向。2005年に有限会社クリエイトウェーブを設立。スマートフォン向けHTML5ウェブアプリ制作にあたり、生産性改善の必要を感じた自身の経験から本プロジェクトを発案。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

CodeZine(コードジン)
https://codezine.jp/article/detail/6643 2012/07/06 14:00

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー