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(仲良し)を削除することはできません。