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

mixi Connect

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

Diary API

mixi日記は、現在のmixiを語る上で必要不可欠のサービスと言えるでしょう。mixiを利用するユーザーの多くが、日々の出来事を日記に書き記します。自分だけが見る日記、友人に見せたい日記、写真付きの日記など、Diary APIを通じてユーザーは手軽に日記を投稿することが可能になるでしょう。

ここでは、Diary APIの使用方法について説明します。

 

事前に必要なもの

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

  • “w_diary”または“r_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"
}

ある日記の取得

リクエスト仕様

ある日記を取得するためのURIは、以下となります

GET http://api.mixi-platform.com/2/diary/articles/[User-ID]/@self/[Diary-ID] 

URIのパスに含まれるパラメータは以下のとおりです。

パラメータ名 指定する値
User-ID 認可ユーザのユーザID、認可ユーザ自身を示す"@me"、または友人のユーザID
Diary-ID 対象日記のID

このURIは以下のクエリパラメータを受け付けます。

bodyFormat "text/plain"か"text/html"で本文のフォーマットを指定することができます。省略した場合はtext/html指定で本文を返します。

レスポンス仕様

レスポンスに含まれる情報は以下となります。

属性名 説明
id 日記のID
title 日記のタイトル
body 日記の本文。bodyFormatがtext/htmlの場合はhtmlを含む文字列
bodyFormat 日記本文の形式。text/plainまたはtext/html
viewPageUrl この日記のページのURL
privacy 日記の公開範囲
created 日記が投稿された日時
images 日記に添付した画像のURLの配列
numComments この日記につけられたコメントの件数
numFavorites この日記につけられたイイネの件数
owner.id 日記を投稿したユーザのID
owner.displayName 日記を投稿したユーザのニックネーム
owner.thumbnailUrl 日記を投稿したユーザのプロフィール画像のURL
owner.profileUrl 日記を投稿したユーザのプロフィールページのURL

以下はレスポンスの一例です。

{
    "id":"117676"
    "title":"日記のタイトル",
    "body":"<div class="diaryBody">日記の本文</div>",
    "bodyFormat": "text/html",
    "viewPageUrl": ""http://mixi.jp/redirect_with...",
    "privacy": {
        "visibility": "everyone"
      },
    "created": "2010-11-02T10:42:57+09:00",
    "images": [
      "http://ic.mixi.jp/p/9b9be89783a76b3b6ad02deddac21ca183ecd52700/4eb78b84/diary/1775504331_112s.jpg",
      "http://ic.mixi.jp/p/9b9be89783a76b3b6ad02deddac21ca183ecd52700/4eb78b84/diary/1775504331_112s.jpg",
    ],
    "numComments": "17",
    "numFavorites": "5",
    "owner": {
      "thumbnailUrl":"http://profile.img.mixi.jp/photo/user/7dshdjk3mbc3w_15647919.jpg",
      "id":"7dshdjk3mbc3w",
      "displayName":"jack",
      "profileUrl":"http://mixi.jp/redirect_friend_api.pl?puid=xxxxxxxxxxxxx&client_id=xxxxxxxx"
    },

}

ある日記へのコメント一覧の取得

リクエスト仕様

ある日記へのコメント一覧を取得するためのURIは、以下となります。

GET http://api.mixi-platform.com/2/diary/comments/[User-ID]/@self/[Diary-ID]

URIのパスに含まれるパラメータは以下のとおりです。

パラメータ名 指定する値
User-ID 認可ユーザのユーザID、認可ユーザ自身を示す"@me"、または友人のユーザID
Diary-ID 対象日記のID

このURIは以下のクエリ・パラメータを受け付けます。

パラメータ名 説明 必須/任意 デフォルト
startIndex 開始インデックス 任意 0
count 取得件数 任意 20

レスポンス仕様

取得結果は以下のようになります。個々のエントリに含まれる情報はコメントオブジェクトになります。

{
    "entry" : [
        {
            "id" : "1FZ3P4ACUWBBC-20090520180336-1FZ3P4ACUWBBC-2009052112112",
            "created" : "2010-12-08T11:07:38+09:00",
            "text" : "コメント本文",
            "user" : {
                "id" : "sa1pzkdg9emdd",
                "displayName" : "ニックネーム",
                "thumbnailUrl" : "http://profile.img.mixi.jp/photo/user/sa1pzkdg9emde_156479.jpg",
                "profileUrl" : "http://mixi.jp/redirect_friend_api.pl?puid=xxxxxxxxxxxxx&client_id=xxxxxxxx"
            }
        }
    ],
    ・・・
}

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

属性名 説明
id コメントを特定するためのID
created コメントが投稿された日時
text コメントの本文
user.id コメントを投稿したユーザのID
user.displayName コメントを投稿したユーザのニックネーム
user.thumbnailUrl コメントを投稿したユーザのプロフィール画像のURL
user.profileUrl コメントを投稿したユーザのプロフィールページのURL

userプロパティについて、コメントの投稿ユーザがアクセストークンの認可ユーザと友人関係ではなかった場合は、user.id、user.displayName、user.thumbnailUrlプロパティのみが結果として返却されます。

ある日記へのイイネ一覧の取得

リクエスト仕様

ある日記へのイイネ一覧を取得するためのURIは、以下となります。

GET http://api.mixi-platform.com/2/diary/favorites/[User-ID]/@self/[Diary-ID]

URIのパスに含まれるパラメータは以下のとおりです。

パラメータ名 指定する値
User-ID 認可ユーザのユーザID、認可ユーザ自身を示す"@me"、または友人のユーザID
Diary-ID 対象日記のID

このURIは以下のクエリ・パラメータを受け付けます。

パラメータ名 説明 必須/任意 デフォルト
startIndex 開始インデックス 任意 0
count 取得件数 任意 20

レスポンス仕様

取得結果は以下のようになります。個々のエントリに含まれる情報はイイネオブジェクトになります。

{
    "entry" : [
        {
            "id" : "sa1pzkdg9emdd",
            "displayName" : "ニックネーム",
            "thumbnailUrl" : "http://profile.img.mixi.jp/photo/user/sa1pzkdg9emde_156479.jpg",
            "profileUrl" : "http://mixi.jp/redirect_friend_api.pl?puid=xxxxxxxxxxxxx&client_id=xxxxxxxx"
        },
        ・・・
    ],
    ・・・
}

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

属性名 説明
id コメントを投稿したユーザのID
displayName コメントを投稿したユーザのニックネーム
thumbnailUrl コメントを投稿したユーザのプロフィール画像のURL
profileUrl コメントを投稿したユーザのプロフィールページのURL

イイネの投稿ユーザがアクセストークンの認可ユーザと友人関係ではなかった場合は、id、displayName、thumbnailUrlプロパティのみが結果として返却されます。

ある日記へのコメントの投稿

リクエスト仕様

コメントを投稿するためのURIは、以下となります。

POST https://api.mixi-platform.com/2/diary/comments/[User-ID]/@self/[Diary-ID]

URIのパスに含まれるパラメータは以下のとおりです。

パラメータ名 指定する値
User-ID 認可ユーザのユーザID、認可ユーザ自身を示す"@me"、または友人のユーザID
Diary-ID 対象日記のID

Content-Typeリクエスト・ヘッダに"application/json"を指定し、リクエスト・ボディにて以下の内容をJSON形式で送信します。

フィールド名 内容 必須/任意 デフォルト値
text コメント本文 必須

レスポンス仕様

コメントの投稿に成功した場合は、HTTPステータスコード201が返却されます。
レスポンス・ボディは以下の内容を含むJSONになります。

属性名 説明
id コメントのID
created コメントが投稿された日時
text コメントの本文
user.id コメントを投稿したユーザのID
user.displayName コメントを投稿したユーザのニックネーム
user.thumbnailUrl コメントを投稿したユーザのプロフィール画像のURL
user.profileUrl コメントを投稿したユーザのプロフィールページのURL

一例として、投稿結果は以下のようになります。

{
    'created' : '2012-06-12T15:19:23+09:00',
    'text' : "コメントの本文",
    'user' : {
        'thumbnailUrl' : 'http://img.mixi.net/img/basic/common/noimage_member180.gif',
        'id' : 'oc14tougma55j',
        'displayName' : 'kevin',
        'profileUrl' : 'http:///show_friend.pl?uid=oc14tougma55j'
    },
    'id' : '3436752150-20120612151923-oc14tougma55j'
}

ある日記へのイイネの投稿

リクエスト仕様

イイネを投稿するためのURIは、以下となります。

POST https://api.mixi-platform.com/2/diary/favorites/[User-ID]/@self/[Diary-ID]

URIのパスに含まれるパラメータは以下のとおりです。

パラメータ名 指定する値
User-ID 認可ユーザのユーザID、認可ユーザ自身を示す"@me"、または友人のユーザID
Diary-ID 対象日記のID

レスポンス仕様

イイネの投稿に成功した場合は、HTTPステータスコード201が返却されます。
レスポンス・ボディは以下の内容を含むJSONになります。

属性名 説明
id イイネしたユーザのID
{
    'id' : 'oc14tougma55j',
}

ある日記へのコメント削除

リクエスト仕様

コメントを削除するためのURIは、以下となります。

DELETE https://api.mixi-platform.com/2/diary/comments/[User-ID]/@self/[Diary-ID]/[Comment-ID]
パラメータ名 指定する値
User-ID 認可ユーザのユーザID、認可ユーザ自身を示す"@me"、または友人のユーザID
Diary-ID 対象日記のID
Comment-ID コメントのID

レスポンス仕様

コメントの削除に成功した場合は、HTTPステータスコード200が返却されます。

HTTP/1.1 200 OK

ある日記へのイイネ削除

リクエスト仕様

イイネを削除するためのURIは、以下となります。

DELETE https://api.mixi-platform.com/2/diary/favorites/[User-ID]/@self/[Diary-ID]/[Favorite-User-ID]
パラメータ名 指定する値
User-ID 認可ユーザのユーザID、認可ユーザ自身を示す"@me"、または友人のユーザID
Diary-ID 対象日記のID
Favorite-User-ID 削除するイイネをしたユーザのID

レスポンス仕様

イイネの削除に成功した場合は、HTTPステータスコード200が返却されます。

HTTP/1.1 200 OK

表現形式

文字コードについては、リクエスト時に使用される文字コードはUTF-8となります。
Content-Typeリクエストヘッダのcharset値にはUTF-8の指定が必要となります。

本APIは、絵文字の変換処理に対応しております。
絵文字の仕様詳細については、下記のページをご参照下さい。
絵文字の扱いについて

このページの上部へ