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

mixi Connect

mixi Connect » mixi Graph API » 技術仕様 » Groups API

Groups API

mixiユーザは「グループ」と呼ばれる友人の分類を登録することができ、このグループを使って各種コンテンツの公開範囲指定などを行っています。例えば、「○○社員」「学生時代の友人」といったグループが代表例でしょう。各グループには、それぞれに属するユーザのIDが複数登録されています。各種APIでは、友人全員分のコンテンツ取得だけでなく、あるグループを指定することで、例えば「学生時代の友人のみのコンテンツ」という限定した取得を行うことが可能です。

ここでは、グループの取得・編集をするためのGroups APIについて、その使用方法を説明します。

事前に必要なもの

Groups APIを利用するためには、以下の情報をすでに入手している必要があります。

  • “r_profile”または“w_profile”スコープおよびその両方について認可されたアクセストークン

上記以外のスコープで認可されたアクセストークンを使用して、Groups APIにアクセスすることはできません。アクセストークンの入手方法については、認証認可手順のページをご覧ください。

Groups APIで提供される機能とスコープ

Groups APIでは様々な機能が提供されますが、それらは大きく「参照系」「投稿系」の2つに分類されます。この分類は、そのままGroups APIを利用するためのスコープに対応します。以下に、スコープと各機能の対応を示します。

スコープ 機能
r_profile ユーザのグループ一覧を取得、ユーザのあるグループに所属するユーザ一覧を取得
w_profile 新規グループの作成、あるグループの更新、あるグループの削除

グループを取得

ユーザのグループ一覧を取得

ユーザが登録しているグループの一覧を取得するためのURIは以下となります。

GET https://api.mixi-platform.com/2/groups/[User-ID]
パラメータ名 指定する値
User-ID 認可ユーザのユーザID、または"@me"

さらに、以下のクエリパラメータをサポートしています。

パラメータ名 指定する値
fields 指定可能な項目は「members」のみです。「members」が指定された場合、各グループに所属しているユーザも返します。
sortBy 指定可能な項目は「title」のみです。「title」が指定された場合、グループ名でソートされた結果を返します。未指定の場合、mixi.jp上の表示順にソートされます。

正常に取得できた場合は、ステータスコードが200で以下のような結果を得ることができます。

{
  "entry" : [
    {
      "id" : "@topFriends",
      "title" : "仲良し",
      "members" : [
        {
           "id" : "6mpf3e7cq54yb",
           "displayName" : "HOGE",
           "thumbnailUrl" : "http://img.mixi.net/img/basic/common/noimage_member40.gif",
           "profileUrl" : "http://mixi.jp/redirect_friend_api.pl?puid=xxxxxxxxxxxxx&client_id=xxxxxxxx" 
        },
        ・・・
      ]
    },
    {
      "id" : "1",
      "title" : "GROUP-59641-001",
      "members" : [
        {
           "id" : "6mpf3e7cq54yb",
           "displayName" : "FUGA",
           "thumbnailUrl" : "http://img.mixi.net/img/basic/common/noimage_member40.gif",
           "profileUrl" : "http://mixi.jp/redirect_friend_api.pl?puid=xxxxxxxxxxxxx&client_id=xxxxxxxx"
        },
        ・・・
      ]
    },
   ・・・
  ],
  ・・・
}

※ なおfieldsパラメータにmembersが指定されていない場合はmembers項目は含まれません。

個々のエントリに含まれる情報は、以下となります。

属性名 説明
id グループのID
title グループ名

ユーザがグループを一つも登録していなかった場合にも、@topFriends(仲良し)は必ず結果に含まれます。

ユーザが持つあるグループを取得

グループIDを指定して特定のグループのみを取得するためのURIは以下となります。

GET https://api.mixi-platform.com/2/groups/[User-ID]/[Group-ID]
パラメータ名 指定する値
User-ID 認可ユーザのユーザID、または"@me"
Group-ID 認可ユーザが作成したグループのID、または"@topFriends"

正常に取得できた場合は、ステータスコードが200で以下のような結果を得ることができます。

{
  "id" : "1",
  "title" : "GROUP-59641-001",
  "members" : [
    {
       "id" : "6mpf3e7cq54yb",
       "displayName" : "FUGA",
       "thumbnailUrl" : "http://img.mixi.net/img/basic/common/noimage_member40.gif",
       "profileUrl" : "http://mixi.jp/redirect_friend_api.pl?puid=xxxxxxxxxxxxx&client_id=xxxxxxxx"
    },
    ・・・
  ]
}

個々のエントリに含まれる情報は、以下となります。

属性名 説明
id グループのID
title グループ名
members.id グループに所属するユーザのID
members.displayName グループに所属するユーザのニックネーム
members.thumbnailUrl グループに所属するユーザがプロフィール画像として設定しているイメージのURL
members.profileUrl グループに所属するユーザのプロフィールページのURL

グループの作成

新規にグループを作成するためのURIは以下となります。

POST https://api.mixi-platform.com/2/groups/[User-ID]
パラメータ名 指定する値
User-ID 認可ユーザのユーザID、または"@me"

Content-Typeリクエストヘッダには"application/json"を指定し、 作成するグループは、リクエストボディとしてJSONを指定します。具体的には、以下のようなリクエストとなります。

{
    "title" : "GROUP-59641-001",
    "members" : [ "1gqq1j8cb76qq", ... ]
}

個々の項目に指定すべき値は、以下となります。

パラメータ名 指定する値
title グループ名
members グループに入れる友人のユーザIDリスト

正常に作成できた場合は、ステータスコードが200で以下のような結果を得ることができます。

{
  "id" : "1",
  "title" : "GROUP-59641-001",
  "members" : [
    {
       "id" : "1gqq1j8cb76qq",
       "displayName" : "FUGA",
       "thumbnailUrl" : "http://img.mixi.net/img/basic/common/noimage_member40.gif",
       "profileUrl" : "http://mixi.jp/redirect_friend_api.pl?puid=xxxxxxxxxxxxx&client_id=xxxxxxxx"
    },
    ・・・
  ]
}

個々のエントリに含まれる情報は、以下となります。

属性名 説明
idグループのID
titleグループ名
members.id グループに所属するユーザのID
members.displayName グループに所属するユーザのニックネーム
members.thumbnailUrl グループに所属するユーザがプロフィール画像として設定しているイメージのURL
members.profileUrl グループに所属するユーザのプロフィールページのURL

グループの更新

作成済みグループを更新するためのURIは以下となります。

PUT https://api.mixi-platform.com/2/groups/[User-ID]/[Group-ID]
パラメータ名 指定する値
User-ID 認可ユーザのユーザID、または"@me"
Group-ID 認可ユーザが作成したグループのID、または"@topFriends"

Content-Typeリクエストヘッダには"application/json"を指定し、 更新するグループは、リクエストボディとしてJSONを指定します。具体的には、以下のようなリクエストとなります。

{
    "title" : "GROUP-59641-001",
    "addMembers" : [ "6mpf3e7cq54yb", ... ],
    "removeMembers" : [ "1gqq1j8cb76qq", ... ]
}

個々の項目に指定すべき値は、以下となります。

パラメータ名 指定する値
title グループの名前
addMembers グループに追加するユーザのID一覧
removeMembers グループから削除するユーザのID一覧

正常に作成できた場合は、ステータスコードが200で以下のような結果を得ることができます。

{
  "id" : "1",
  "title" : "GROUP-59641-001",
  "members" : [
    {
       "id" : "6mpf3e7cq54yb",
       "displayName" : "FUGA",
       "thumbnailUrl" : "http://img.mixi.net/img/basic/common/noimage_member40.gif",
       "profileUrl" : "http://mixi.jp/redirect_friend_api.pl?puid=xxxxxxxxxxxxx&client_id=xxxxxxxx"
    },
    ・・・
  ]
}

個々のエントリに含まれる情報は、以下となります。

属性名 説明
id グループのID
title グループ名
members.id グループに所属するユーザのID
members.displayName グループに所属するユーザのニックネーム
members.thumbnailUrl グループに所属するユーザがプロフィール画像として設定しているイメージのURL
members.profileUrl グループに所属するユーザのプロフィールページのURL

グループの削除

作成済みグループを削除するためのURIは以下となります。

DELETE https://api.mixi-platform.com/2/groups/[User-ID]/[Group-ID]
パラメータ名 指定する値
User-ID 認可ユーザのユーザID、または"@me"
Group-ID 認可ユーザが作成したグループのID

正常に作成できた場合は、HTTPステータスコード200を返します。

※@topFriends(仲良し)を削除することはできません。

このページの上部へ