ユーザーのプロフィール情報、モバ友情報を取得する

ユーザーのプロフィールの取得

アプリを利用しているユーザー(Viewer)のプロフィールを取得するコードは以下のようになります。

  • opensocial.newDataRequest() を呼び出して DataRequest を作成します。
  • 生成した DataRequest の newFetchPersonRequest() を呼び出してリクエストを生成します。
  • DataRequest.add(request) を呼び出してリクエストを登録します。
  • DataRequest.send(callback) を呼び出して情報の取得を要求します。
  • サーバー要求の処理が完了すると、send() で指定されたコールバック関数が、要求結果を含む opensocial.ResponseItemクラスのオブジェクトを引数として実行されます。
  • DataResponse に格納されているデータを処理します。

なお、newFetchPersonRequest() メソッドを params 引数を指定しないで実行した場合、取れる情報は

  • ユーザーID
  • ニックネーム
  • プロフィールのアバターのURL

になります。

より詳細なプロフィールの取得

さらに詳細なプロフィールを取得するには以下のようなコードになります。

  • opensocial.DataRequest.PeopleRequestFields.PROFILE_DETAILSをキーに、取得したい情報を配列指定します。
  • このparamsオブジェクトを newFetchPersonRequest() の第2引数に指定します。

なお、PROFILE_DETAILS に指定できるのは

  • opensocial.Person.Field.ID - ユーザーID
  • opensocial.Person.Field.NICKNAME - ニックネーム
  • opensocial.Person.Field.PROFILE_URL - プロフィールページのURL
  • opensocial.Person.Field.THUMBNAIL_URL - プロフィールのアバターのURL
  • opensocial.Person.Field.ABOUT_ME - 自己紹介
  • opensocial.Person.Field.ADDRESS - 住所(都道府県まで)
  • opensocial.Person.Field.AGE - 年齢
  • opensocial.Person.Field.DATE_OF_BIRTH - 誕生日
  • opensocial.Person.Field.INTERESTS - 趣味
  • opensocial.Person.Field.HAS_APP - アプリケーションをインストールしているかどうか
  • mbga.Person.Field.JOB_TYPE - 職業
  • mbga.Person.Field.BLOOD_TYPE - 血液型

になります。ユーザーが公開を拒否している物に関しては取得できません。

モバ友の一覧情報を取得する

Viewer のモバ友の情報を取得するには以下のようなコードになります。

  • opensocial.IdSpec.Field.USER_ID に対象となるユーザーを指定します。
  • opensocial.IdSpec.Field.GROUP_ID に対象となるユーザーの関係を指定します。この値は常にopensocial.IdSpec.GroupId.FRIENDS になります。
  • これらを引数にして opensocial.newIdSpec() を呼び出して IdSpec を生成します。
  • opensocial.newDataRequest() を呼び出して DataRequest を作成します。
  • 先ほど生成した IdSpec を引数にして、newFetchPeopleRequest() を呼び出してリクエストを生成します。
  • DataRequest.add(request) を呼び出してリクエストを登録します。
  • DataRequest.send(callback) を呼び出して情報の取得を要求します。
  • サーバー要求の処理が完了すると、send() で指定されたコールバック関数が、要求結果を含む opensocial.ResponseItemクラスのオブジェクトを引数として実行されます。
  • DataResponse には opensocial.Collection オブジェクトが含まれるので each() を呼び出してモバ友それぞれの情報を取得します。

newFetchPeopleRequest() で返る Collection はデフォルトで50件です。 opensocial.DataRequest.PeopleRequestFields.MAX をパラメータに含めることにより件数を指定できます。この値の最大は1000件です。

 

更新履歴

  • 2013/03/15
    • ドキュメント移行

PREVIOUS

HelloWorld!

NEXT

アクティビティを送信する