mixiページアプリ » 技術仕様 » Page API
Page API
mixi ページは、mixiのソーシャルグラフに最適化されたコンテンツを提供することが可能なスペースです。
mixiページ上では、様々な情報を元にユーザー同士のコミュニケーションを活性化することが可能ですが、Page API を利用することで、mixi ページをより豊かに表現・展開するアプリケーションを自由に開発することができます。
ここでは、Page API の使用方法について説明します。
共通仕様
Page API は、mixi Graph API の一部として追加されます。
mixiページアプリとして登録されたアプリケーションは、Page APIを含む、mixi Graph APIを利用することができます。
mixi Graph API については、「mixi Graph APIとは」(http://developer.mixi.co.jp/connect/mixi_graph_api/
) をご確認ください。
API の共通仕様については、「API共通仕様」(http://developer.mixi.co.jp/connect/mixi_graph_api/mixi_io_spec_top/api_common_spec
) をご確認ください。
尚、Page API は絵文字に対応しておりません。
事前に必要なもの
Page APIを利用するためには、以下のいずれか、または両方の情報をすでに入手している必要があります。
- クライアント認証されたアクセストークン
- "w_pagefeed"スコープについてユーザに認可されたアクセストークン
上記以外のスコープで認可されたアクセストークンを使用して、Page APIにアクセスすることはできません。
"w_pagefeed"については、通常のアクセストークンの入手方法と同じです。
「認証認可手順」(http://developer.mixi.co.jp/connect/mixi_graph_api/api_auth
) をご確認ください。
クライアント認証については、「技術仕様概要」の「アクセストークンの取得(クライアント認証)」 (http://developer.mixi.co.jp/page-apps/spec/summary/#toc-5
) をご覧ください。
Page APIで提供される機能とアクセストークン
Page APIでは様々な機能が提供されますが、それらは大きく「参照系」「投稿系」の2つに分類されます。
以下に、Page APIの機能と利用に必要なアクセストークンの対応を示します。
| 分類 | 機能 | アクセストークン |
|---|---|---|
| 参照系 |
ページ基本情報の取得 フィードの一覧取得 コメント一覧の取得 イイネ数の取得 |
クライアント認証されたアクセストークン |
| 投稿系 |
フィードの投稿、削除 コメントの投稿、削除 イイネの投稿、削除 |
"w_pagefeed"スコープについてユーザに認可されたアクセストークン |
コンテンツとは
Page API の説明には、「コンテンツ」「contentUri」などの単語が含まれています。
「コンテンツ」はmixiページアプリが扱う情報を示しています。
例えばイラストを描くアプリなら、描いたイラストが「コンテンツ」になります。
Page API は、「コンテンツ」のURI(=contentUri)に紐づけてフィード・コメント・イイネを登録します。
アプリ起動時にアプリへ渡るパラメータ
Page API の説明には、アプリ起動時にmixiページからmixiページアプリへ渡るパラメータが含まれています。
| 本仕様書のパラメータ名 | アプリ起動時パラメータ名 | 説明 |
|---|---|---|
| Page-ID | mixi_page_id | mixiページのID |
| Module-ID | mixi_module_id | mixiページ上で複数の同一アプリが配置されていた場合に識別するためのID |
詳しくは、「技術仕様概要」の「PC、スマートフォン」(http://developer.mixi.co.jp/page-apps/spec/summary/#toc-1
)、「モバイル」(http://developer.mixi.co.jp/page-apps/spec/summary/#toc-2
)をご参照ください。
アプリを起動するには、mixiページにアプリケーションをインストールする必要があります。
ページ基本情報の取得
ページ基本情報を取得するためのURIは以下となります。
GET http://api.mixi-platform.com/2/pages/[Page-ID]
| パラメータ名 | 指定する値 |
|---|---|
| Page-ID | mixiページのID |
取得結果は、以下のようなJSON形式となります。
{
"entry" : {
"id" : "12345678901234567890",
"displayName" : "mixiページ名",
"thumbnailUrls" : {
"large" : "http://img.mixi.jp/img/basic/common/noimage_w180_001.gif",
"medium" : "http://img.mixi.jp/img/basic/common/noimage_w76_001.gif",
"small" : "http://img.mixi.jp/img/basic/common/noimage_w40_001.gif"
},
"details" : "mixiページの説明文",
"options" : {
"zipCode" : "150-0011",
"address" : "東京都渋谷区東1-2-20 住友不動産渋谷ファーストタワー7F",
"pcUrl": "http://pc.my-home-page.jp",
"mobileUrl": "http://mb.my-home-page.jp",
"smartphoneUrl": "http://sp.my-home-page.jp"
},
"followerCount" : 1000
}
}
個々のエントリに含まれる情報は、以下となります。
| 属性名 | 説明 |
|---|---|
| id | mixiページID |
| displayName | mixiページの名前 |
| thumbnailUrls.large | mixiページのプロフィール画像(大)のURL |
| thumbnailUrls.medium | mixiページのプロフィール画像(中)のURL |
| thumbnailUrls.small | mixiページのプロフィール画像(小)のURL |
| details | mixiページの説明文 |
| options.zipCode | 郵便番号(カテゴリが「ブランド・製品」「イベント」「エンタテインメント」「メディア」「サービス・地域店舗・スポット」「企業・団体」の場合) |
| options.address | 住所(カテゴリが「ブランド・製品」「イベント」「エンタテインメント」「メディア」「サービス・地域店舗・スポット」「企業・団体」の場合) |
| option.pcUrl | ホームページURL PC |
| option.mobileUrl | ホームページURL 携帯 |
| option.smartphoneUrl | ホームページURL スマートフォン |
| options.birthday | 誕生日(カテゴリが「著名人・アーティスト」の場合) |
| followerCount | mixiページのフォロワー数 |
フィードの一覧取得
フィードの一覧を取得するためのURIは以下となります。
GET http://api.mixi-platform.com/2/pages/[Page-ID]/feeds
| パラメータ名 | 指定する値 |
|---|---|
| Page-ID | mixiページのID |
更に、以下のクエリパラメータをサポートします。
| パラメータ名 | 指定する値 |
|---|---|
| contentUri | フィードのコンテンツを示すURIを指定します。ある特定のフィード情報のみを取得することができます。 |
取得結果は、以下のようなJSON形式となります。
一覧を取得する場合
{
"entry" : [
{
"contentUri" : "http://www.application.com/id=12345",
"title" : "タイトル",
"body" : "本文",
"urls" : {
"pcUrl" : "http://mixi.jp/run_page_appli.pl?page_id=0&module_id=0&appParams=%7B%22uid%22%3A%221569%22%7D",
"mobileUrl" : "",
"smartphoneUrl" : ""
},
"images" : [
{
"large" : "http://img.mixi.jp/img/basic/common/noimage_w180_001.gif",
"medium" : "http://img.mixi.jp/img/basic/common/noimage_w76_001.gif",
"small" : "http://img.mixi.jp/img/basic/common/noimage_w40_001.gif"
}
],
"user" : {
"id" : "qgjw86yg5djw",
"displayName" : "ニックネーム",
"thumbnailUrl" : "http://img.mixi.jp/img/basic/common/noimage_member180.gif"
},
"favoriteCount" : 4632,
"commentCount" : 274,
"sourceName" : "メニュー名",
"created" : "2010-11-02T10:42:57+09:00"
},
・・・
],
・・・
}
contentUriを指定して1件のみ取得する場合
{
"entry" : {
"contentUri" : "http://www.application.com/id=12345",
"title" : "タイトル",
"body" : "本文",
"urls" : {
"pcUrl" : "http://mixi.jp/run_page_appli.pl?page_id=0&module_id=0&appParams=%7B%22uid%22%3A%221569%22%7D",
"mobileUrl" : "",
"smartphoneUrl" : ""
},
"images" : [
{
"large" : "http://img.mixi.jp/img/basic/common/noimage_w180_001.gif",
"medium" : "http://img.mixi.jp/img/basic/common/noimage_w76_001.gif",
"small" : "http://img.mixi.jp/img/basic/common/noimage_w40_001.gif"
}
],
"user" : {
"id" : "qgjw86yg5djw",
"displayName" : "ニックネーム",
"thumbnailUrl" : "http://img.mixi.jp/img/basic/common/noimage_member180.gif"
},
"favoriteCount" : 4632,
"commentCount" : 274,
"sourceName" : "メニュー名",
"created" : "2010-11-02T10:42:57+09:00"
}
}
個々のエントリに含まれる情報は、以下となります。
| 属性名 | 説明 |
|---|---|
| contentUri | コンテンツのURI |
| title | フィードのタイトル |
| body | フィードの本文 |
| urls.pcUrl | 投稿元へ遷移するパーマネントURL(PC用) |
| urls.mobileUrl | 投稿元へ遷移するパーマネントURL(モバイル用) |
| urls.smartphoneUrl | 投稿元へ遷移するパーマネントURL(スマートフォン用) |
| images.large | フィードの添付画像(大)のURL |
| images.medium | フィードの添付画像(中)のURL |
| images.small | フィードの添付画像(小)のURL |
| user.id | フィード投稿者のID |
| user.displayName | フィード投稿者のニックネーム |
| user.thumbnailUrl | フィード投稿者のプロフィール画像のURL |
| favoriteCount | コンテンツのイイネ!の数 |
| commentCount | コンテンツのコメントの数 |
| sourceName | フィード投稿元のアプリ名称 |
| created |
フィードの作成日時。書式はW3C-DTF |
コメント一覧の取得
コメント一覧を取得するためのURIは以下となります。
GET http://api.mixi-platform.com/2/pages/[Page-ID]/comments
| パラメータ名 | 指定する値 |
|---|---|
| Page-ID | mixiページのID |
更に、以下のクエリパラメータを指定してください。
| パラメータ名 | 指定する値 |
|---|---|
| contentUri | コメントが紐づくコンテンツのURIをURIエスケープしたもの |
取得結果は、以下のようなJSON形式となります。
{
"entry" : [
{
"id" : "1FZ3P4ACUWBBC-20090520180336",
"comment" : "コメント本文",
"user" : {
"id" : "qgjw87yg3djw",
"displayName" : "ニックネーム",
"thumbnailUrl" : "http://img.mixi.jp/img/basic/common/noimage_member180.gif"
},
"created" : "2010-11-02T10:42:57+09:00"
},
・・・
],
・・・
}
個々のエントリに含まれる情報は、以下となります。
| 属性名 | 説明 |
|---|---|
| id | コメントID (Comment-ID) |
| comment | コメント本文 |
| user.id | コメント投稿者のユーザのID |
| user.displayName | コメント投稿者のニックネーム |
| user.thumbnailUrl | フィード投稿者のプロフィール画像のURL |
| created |
フィードの作成日時。書式はW3C-DTF |
イイネ数の取得
イイネ数を取得するためのURIは以下となります。
GET http://api.mixi-platform.com/2/pages/[Page-ID]/favorites
| パラメータ名 | 指定する値 |
|---|---|
| Page-ID | mixiページのID |
更に、以下のクエリパラメータを指定してください。
| パラメータ名 | 指定する値 |
|---|---|
| contentUri | コメントが紐づくコンテンツのURIをURIエスケープしたもの |
取得結果は、以下のようなJSON形式となります。
{
"count" : 3654
}
個々のエントリに含まれる情報は、以下となります。
| 属性名 | 説明 |
|---|---|
| count | コンテンツに紐づくイイネ数 |
フィードの投稿、削除
フィードの投稿
フィードを投稿するためのURIは以下となります。
POST http://api.mixi-platform.com/2/pages/[Page-ID]/feeds
| パラメータ名 | 指定する値 |
|---|---|
| Page-ID | mixiページのID |
画像なしフィードの投稿
フィード本文は、application/json形式でリクエストボディに指定します。
指定する内容は、以下のようになります。
{
"contentUri" : "http://www.application.com/id=12345",
"title" : "タイトル",
"body" : "本文",
"urls" : {
"pcUrl" : "http://mixi.jp/run_page_appli.pl?page_id=0&module_id=0&appParams=%7B%22uid%22%3A%221569%22%7D",
"mobileUrl" : "",
"smartphoneUrl" : "",
},
"sourceId" : "3"
}
指定する内容は、以下のようになります。
| 属性名 | 説明 |
|---|---|
| contentUri | コンテンツのURI |
| title | フィードのタイトル |
| body | フィードの本文 |
| urls.pcUrl | 投稿元へ遷移するパーマネントURL(PC用) |
| urls.mobileUrl | 投稿元へ遷移するパーマネントURL(モバイル用) |
| urls.smartphoneUrl | 投稿元へ遷移するパーマネントURL(スマートフォン用) |
| sourceId | モジュールID (Module-ID) |
「contentUri」を省略すると、mixiページのフィード詳細画面のURLが割り当てられます。 フィードを投稿するアプリなど、アプリでコンテンツを持たない場合は「contentUri」を省略してご利用ください。
「sourceId」は、フィード投稿に使われたアプリの名称を決めるための項目です。 現在はモジュールIDのみ指定することができ、モジュールIDを指定すると「メニューに表示する名称」、省略すると「アプリそのものの名称」となります。
※現在、mixiページ上では、投稿対象ページのページ管理者の投稿しか反映されませんのでご注意ください。
画像付きフィードの投稿
フィードを投稿する際に、そのフィードに関する画像も同時に投稿することができます。その方法は2種類提供されています。
- 画像のURLを指定したフィードの投稿 (application/json形式)
- 画像を直接添付したフィードの投稿 (multipart/form-data形式)
画像のURLを指定したフィードの投稿 (application/json形式)
フィード本文は、application/json形式でリクエストボディに指定します。 指定する内容は、以下のようになります。
{
"contentUri" : "http://www.application.com/id=12345",
"title" : "タイトル",
"body" : "本文",
"urls" : {
"pcUrl" : "http://mixi.jp/run_page_appli.pl?page_id=0&module_id=0&appParams=%7B%22uid%22%3A%221569%22%7D",
"mobileUrl" : "",
"smartphoneUrl" : "",
},
"sourceId" : "3",
"imageUrls" : [
"http://www.imageurl.com/image/photo1.jpeg"
]
}
指定する内容は、以下のようになります。
| 属性名 | 説明 |
|---|---|
| contentUri | コンテンツのURI |
| title | フィードのタイトル |
| body | フィードの本文 |
| urls.pcUrl | 投稿元へ遷移するパーマネントURL(PC用) |
| urls.mobileUrl | 投稿元へ遷移するパーマネントURL(モバイル用) |
| urls.smartphoneUrl | 投稿元へ遷移するパーマネントURL(スマートフォン用) |
| sourceId | モジュールID (Module-ID) |
| imageUrls | 添付したい画像のURL。1枚のみ指定できます。 |
添付画像の対応フォーマットはjpeg, pngです。
画像を直接添付したフィードの投稿 (multipart/form-data形式)
画像付きのフィード投稿する方法として、上述の imageUrl を利用する方法とは別に、画像を直接添付してフィードを投稿することができます。
フィードを投稿するためのURIは、通常のフィード投稿時と同様の形式です。 Content-Typeリクエストヘッダには"multipart/form-data"を指定し、リクエストボディには以下のようにフィード情報と画像を指定します。 フィード情報はJSON形式で指定し、画像はバイナリデータを指定します。 指定する内容は、以下のようになります。
boundary文字列
Content-Disposition: form-data; name="request"
{
"contentUri" : "http://www.application.com/id=12345",
"title" : "タイトル",
"body" : "本文",
"urls" : {
"pcUrl" : "http://mixi.jp/run_page_appli.pl?page_id=0&module_id=0&appParams=%7B%22uid%22%3A%221569%22%7D",
"mobileUrl" : "",
"smartphoneUrl" : "",
},
"sourceId" : "3",
}
boundary文字列
Content-Disposition: form-data; name="image1"; filename="添付画像1.jpg"
Content-Type: image/jpeg
.......添付画像のバイナリデータ
指定する内容は、以下のようになります。
| 属性名 | 説明 |
|---|---|
| contentUri | コンテンツのURI |
| title | フィードのタイトル |
| body | フィードの本文 |
| urls.pcUrl | 投稿元へ遷移するパーマネントURL(PC用) |
| urls.mobileUrl | 投稿元へ遷移するパーマネントURL(モバイル用) |
| urls.smartphoneUrl | 投稿元へ遷移するパーマネントURL(スマートフォン用) |
| sourceId | モジュールID (Module-ID) |
boundary文字列で区切った各要素は、フィード情報はname=”request”を、画像はimage1を指定してください。 画像は1枚まで指定可能です。 添付画像の対応フォーマットはjpeg, pngです。
フィードの投稿に成功した場合は、HTTPステータスコード201および以下の内容を含むJSONがレスポンスボディとして返却されます。
{
"contentUri" : [contentUri]
}
フィードの削除
フィードを削除するためのURIは以下となります。
DELETE http://api.mixi-platform.com/2/pages/[Page-ID]/feeds
| パラメータ名 | 指定する値 |
|---|---|
| Page-ID | mixiページのID |
更に、以下のクエリパラメータを指定してください。
| パラメータ名 | 指定する値 |
|---|---|
| contentUri | フィードを削除したいコンテンツのURIをURIエスケープしたもの |
フィードの削除に成功した場合は、HTTPステータスコード204が返却されます。
コメントの投稿、削除
コメントの投稿
コメントを投稿するためのURIは以下となります。
POST http://api.mixi-platform.com/2/pages/[Page-ID]/comments
| パラメータ名 | 指定する値 |
|---|---|
| Page-ID | mixiページのID |
更に、以下のクエリパラメータを指定してください。
| パラメータ名 | 指定する値 |
|---|---|
| contentUri | コメントを投稿したいコンテンツのURIをURIエスケープしたもの |
コメント本文は、application/json形式でリクエストボディに指定します。 指定する内容は、以下のようになります。
{
"comment" : "コメント本文"
}
コメントの投稿に成功した場合は、HTTPステータスコード201および以下の内容を含むJSONがレスポンスボディとして返却されます。
{
"id" : [Comment-ID]
}
コメントの削除
コメントを削除するためのURIは以下となります。
DELETE http://api.mixi-platform.com/2/pages/[Page-ID]/comments/[Comment-ID]
| パラメータ名 | 指定する値 |
|---|---|
| Page-ID | mixiページのID |
| Comment-ID | 削除したいコメントのComment-ID |
更に、以下のクエリパラメータを指定してください。
| パラメータ名 | 指定する値 |
|---|---|
| contentUri | コメントを削除したいコンテンツのURIをURIエスケープしたもの |
コメントの削除に成功した場合は、HTTPステータスコード204が返却されます。
イイネの投稿、削除
イイネの投稿
イイネを投稿するためのURIは以下となります。
POST http://api.mixi-platform.com/2/pages/[Page-ID]/favorites
| パラメータ名 | 指定する値 |
|---|---|
| Page-ID | mixiページのID |
更に、以下のクエリパラメータを指定してください。
| パラメータ名 | 指定する値 |
|---|---|
| contentUri | イイネを投稿したいコンテンツのURIをURIエスケープしたもの |
イイネの投稿に成功した場合は、HTTPステータスコード201および以下の内容を含むJSONがレスポンスボディとして返却されます。
{
"id" : [Favorite-ID]
}
イイネの削除
フィードへのイイネを削除するためのURIは以下となります。
DELETE http://api.mixi-platform.com/2/pages/[Page-ID]/favorites/[Favorite-ID]
| パラメータ名 | 指定する値 |
|---|---|
| Page-ID | mixiページのID |
| Favorite-ID | 削除したいイイネのFavorite-ID |
更に、以下のクエリパラメータを指定してください。
| パラメータ名 | 指定する値 |
|---|---|
| contentUri | イイネを削除したいコンテンツのURIをURIエスケープしたもの |
イイネの削除に成功した場合は、HTTPステータスコード204が返却されます。
ページング
Page APIは、ページングをサポートします。 詳細は「ページングの指定方法」(http://developer.mixi.co.jp/connect/mixi_graph_api/mixi_io_spec_top/api_common_spec#toc-1
)をご参照ください。