mixi Developer Center (ミクシィ デベロッパーセンター)

mixiアプリ

mixiアプリ » 技術仕様(Graph API方式) » mixi API SDK for Android™ » APIの利用 » People API

People API

ソーシャル化をする上で最も重要な情報、それはソーシャルグラフです。あるユーザの情報と、そのユーザが誰とつながっているのか、その情報を取得することができるAPIが、People APIです。クライアントプログラムは、People APIにより取得した友人一覧を元にして、ソーシャルアプリケーションを開発することができます。多くのサービスにおいて、このAPIの利用は必須となることでしょう。

ここでは、ユーザのプロフィール情報および友人の一覧を取得するためのPeople APIについて、その使用方法を説明します。

ユーザに関する情報を取得

ユーザ自身に関する情報を取得するためには、以下のメソッドを利用します。

MixiContainer#send("/people/@me/@self", CallbackListener listener)

ユーザの友人一覧を取得

ユーザが登録している友人の一覧を取得するためには、以下のメソッドを利用します。

MixiContainer#send("/people/@me/@friends", CallbackListener listener)

第1引数に指定するエンドポイントの記述方法は、People APIの仕様に準拠します。

パラメータ名 指定する値
User-ID 取得したいユーザのID、または"@me"
Group-ID 取得したいグループのID、または"@self"、"@friends"

友人一覧はユーザのプライベートな情報となるため、User-IDはアクセストークンを認可したユーザ本人のIDまたは"@me"のみ指定することができます。Group-IDは、取得したいユーザの集合を特定するためのIDを指定します。指定可能なIDは、以下となります。グループのIDは、Groups APIにて取得することができます。

ID 説明
@self User-IDで特定されるユーザ自身のプロフィール情報
@friends User-IDで特定されるユーザの友人として登録されたユーザのプロフィール情報一覧
グループID User-IDで特定されるユーザが登録している、あるグループに所属するユーザのプロフィール情報一覧

実際のサンプルコードはこちらです。

mContainer.send("/people/@me/@self", new CallbackListener() {
    @Override
    public void onComplete(Bundle values) {
        Log.v("response", values.getString("response"));
    }

    @Override
    public void onError(ErrorInfo e) {
        // エラー時の処理
    }

    @Override
    public void onCancel() {
        // ユーザーキャンセル時の処理
    }

    @Override
    public void onFatal(ErrorInfo e) {
        // 異常終了時の処理
    }
});

フィールド指定で情報を取得

People APIでは、以下のクエリパラメータをサポートしています。

パラメータ名 説明
sortBy パラメータ値として"displayName"を指定することで、取得結果をニックネームによる並び順とすることができます。このパラメータを省略した場合は、ユーザのmember_id順となります。
sortOrder このパラメータ値として"ascending"を指定した場合は昇順、"descending"を指定した場合は降順に取得結果が並び替えされます。このパラメータを省略した場合は、昇順となります。

パラメータを指定する場合は以下のメソッドを利用します。

MixiContainer#send("/people/@me/@friends", Map params, CallbackListener listener)

実際のサンプルコードはこちらです。

Map params = new HashMap();
params.put("fields", "thumbnailUrl profileUrl");
params.put("sortBy", "displayName");
params.put("sortOrder", "ascending");

mContainer.send("/people/@me/@friends", params, new CallbackListener() {});

正常に取得できた場合は、コールバックの onComplete メソッドの引数valuesにresponseパラメータとして渡されてきます。values.getString("response")などして参照することで、次のようなJSON形式の結果を得ることができます。

{
  "entry" : [
    {
      "id" : "qgjw87yg3djw",
      "displayName" : "bert",
      "thumbnailUrl" : "http://img.mixi.net/img/basic/common/noimage_member180.gif",
      "profileUrl" : "http://mixi.jp/show_friend.pl?uid=qgjw87yg3djw"
    },
    ・・・
  ],
  ・・・
}

このページの上部へ