mixi Connect » mixi Graph API » 技術仕様 » Diary API
Diary API
mixi日記は、現在のmixiを語る上で必要不可欠のサービスと言えるでしょう。mixiを利用するユーザーの多くが、日々の出来事を日記に書き記します。自分だけが見る日記、友人に見せたい日記、写真付きの日記など、Diary APIを通じてユーザーは手軽に日記を投稿することが可能になるでしょう。
ここでは、Diary APIの使用方法について説明します。
事前に必要なもの
Diary APIを利用するためには、以下の情報をすでに入手している必要があります。
- “w_diary”スコープについて認可されたアクセストークン
上記以外のスコープで認可されたアクセストークンを使用して、Diary APIにアクセスすることはできません。アクセストークンの入手方法については、認証認可手順のページをご覧ください。
日記の投稿
日記投稿を利用するためのURIは、以下となります。
POST https://api.mixi-platform.com/2/diary/articles/@me/@self
リクエストボディとして、投稿したい日記の内容を以下のようにmultipart/form-data形式にて指定します。
※日記に画像の添付が必要無い場合は、application/json形式で投稿する事も可能です。(詳細は後述)
boundary文字列
Content-Disposition: form-data; name="request"
{
"title":"日記のタイトル",
"body":"日記の本文",
"privacy":{
"visibility":"group",
"group":"10",
"show_users":"0"
}
}
boundary文字列
Content-Disposition: form-data; name="photo1"; filename="添付画像1.jpg"
Content-Type: image/jpeg
.......添付画像のバイナリデータ
boundary文字列
Content-Disposition: form-data; name="photo2"; filename="添付画像2.jpg"
Content-Type: image/jpeg
.......添付画像のバイナリデータ
boundary文字列
Content-Disposition: form-data; name="photo3"; filename="添付画像3.jpg"
Content-Type: image/jpeg
.......添付画像のバイナリデータ
個々の項目に指定すべき値は、以下となります。
| パラメータ名 | 説明 | 必須 |
|---|---|---|
| title | 日記のタイトル文字列 | ● |
| body | 日記の本文 | ● |
| privacy | この日記の公開設定 ※(詳細を後述) | ● |
-
boundary文字列で区切った各要素は、日記情報はname=”request”を、
画像情報は1枚目2枚目3枚目とそれぞれ、photo1,photo2,photo3と指定してください。画像は3枚まで指定可能です。 - 添付画像の対応フォーマットはjpegとなっております。
画像無しで日記を投稿する場合
application/json形式にて、投稿したい日記の内容を以下のように指定します。
{
"title":"日記の件名",
"body":"日記の本文",
"privacy":{
"visibility":"group",
"group":"10",
"show_users":"0"
}
}
“privacy” パラメーターの形式
日記の公開設定は、privacyパラメータで設定が可能です。
このprivacyパラメータは、更にvisibility/group/show_usersの三つのパラメータを持ちます。
visibilityパラメータは公開範囲の種別を、
groupパラメータは、この日記を閲覧可能とするグループのIDを(visibilityに”group”を指定した場合にのみ必須)
show_usersは、その日記を閲覧可能な友人を公開するか否かを設定します。
それぞれのパラメータの詳細は下記のようになります。
| 指定値 | 意味 |
|---|---|
| everyone | 全体に公開 |
| friends | 友人まで公開 |
| friends_of_friends | 友人の友人まで公開 |
| top_friends | 仲良しに公開 |
| group | 特定のグループにのみ公開 |
| self | 非公開 |
groupパラメーター値の形式
visibilityに「特定のグループにのみ公開」と指定する際は下記のように、
privacy内に別途でgroupというパラメータが必須となります
"privacy":{
"visibility":"group",
"group":"5"
}
group値には、公開を許可するグループIDを指定してください。
※グループIDについては、Groups APIにて取得したIDを指定する事となります。
show_usersパラメータ値
show_usersを設定する事により、
その日記を公開している友人一覧の表示範囲に、
「自分だけに表示」か「自分と公開中の友人に表示」のどちらかを選択可能です。
値に0を指定する事により、「自分だけに表示」
1を指定する事により、「自分と公開中の友人に表示」となります。
省略された際には「自分だけに表示」となります。
この設定に関する仕様は下記ページでも説明されておりますので、ご参考下さい。
http://mixi.jp/help.pl?mode=item&item=567
日記本文へのmixiフォトの挿入について
日記の本文となるbodyパラメータの文字列には、
Photo APIなどでアップロードしたmixiフォトを挿入する事が可能です。
その際には下記のような文字列をbodyパラメータ内に挿入して下さい。
<photo src="v2:「Photo APIで取得したフォト情報のMediaItem ID」">
また、下記のように”MediaItem ID”の後に”:l”と付け加える事で大きいサイズのフォトを挿入することも可能です。
<photo src="v2:「Photo APIで取得したフォト情報のMediaItem ID」:l">
レスポンス仕様
正常に処理が行われた結果、APIは以下のような文字列をJSON形式で返却します。
{
"id":"1656400812"
}
| 項目名 | 説明 |
|---|---|
| id | 新しく作成された日記のID |
HTTPステータスコードには、201が返却されます。
もし投稿に失敗した場合は、ステータスコード400番台または500番台と共に、そのエラーの内容を持つ以下のようなJSON文字列が返却されます。
{
"error" : "access_denied",
"error_description" : "your account is temporary prohibited"
}
表現形式
文字コードについては、リクエスト時に使用される文字コードはUTF-8となります。
Content-Typeリクエストヘッダのcharset値にはUTF-8の指定が必要となります。
本APIは、絵文字の変換処理に対応しております。
絵文字の仕様詳細については、下記のページをご参照下さい。
絵文字の扱いについて