目次

必要なもの
概要
認証
Blogメソッド
      ブログ情報の取得
      アイコン画像の取得
      フォロワーの取得
      投稿データの取得
            Text
            Photo
            Quote
            Link
            Chat
            Audio
            Video
            Answer
      キュー投稿の取得
      下書き投稿の取得
      提案投稿の取得
      投稿する
      投稿の編集
      Reblogする
      投稿の削除
Userメソッド
      ユーザー情報の取得
      ダッシュボードの取得
      likeの取得
      フォローブログの取得
      ブログをフォロー
      ブログをアンフォロー

Tumblr API

Tumblr APIへようこそ!わたしたちにとって、優秀なデザイナーやエンジニアがTumblrを使って創作表現のまったく新しい形をつくってくれることより楽しいものはありません。わたしたちはあなたがたのどんなプロジェクトに対しても十分に機能的で柔軟なAPIとなるように途方もない注意を払ってきました。APIの使い方についてやどうするのがよりよいのか、またAPIを使って作っている驚くべきものを話すときはわたしたちのディスカッショングループに参加してください。どうぞ責任をもってAPIをお使いください。また、フィードバックをください。楽しんでね!

もし古いAPIのドキュメントを見たいなら、ここで探すことができます。

必要なもの

OAuthキーを入手するには: アプリケーションを登録してください

あなた用のAPIキーを入手する必要があります。たとえ、署名付きOAuthリクエストを使う必要がないとしてもです。

詳細については下の認証をご覧ください。

概要

なにか作る前にこれらの要点を見なおしてください。

URIの構造

すべてのTumblr APIのリクエストは api.tumblr.com で始まります。URIパスの次の区切りはリクエストの種類によって変わります。リクエストの種類とURIの例は次のとおりです。

  • Blog: ブログのデータを取得したり、ブログに書き込んだりします

    api.tumblr.com/v2/blog/{base-hostname}/...

  • User: ユーザーのデータを取得したり、ユーザーアクションを実行したりします

    api.tumblr.com/v2/user/...

詳細は下のメソッドをご覧ください。

ブログのホスト名

各ブログは固有のホスト名を持っています。ホスト名はスタンダードカスタムに分類されます。

  • スタンダードホスト名: ブログの短縮名 + .tumblr.com.

    例: greentype.tumblr.com

  • カスタムホスト名: DNSのCNAMEエントリによるもの

    例: www.davidslog.com

ブログでなにかする場合はブログホスト名が必要になります。APIドキュメントで {base-hostname} というプレースホルダがあったら、スタンダードホスト名かカスタムホスト名に読み替えてください。

レスポンスの形式

APIはJSONエンコード済みオブジェクトを返します(content-type: application/json)。レスポンスは使用したメソッドによって変わります。しかし、すべてのレスポンスに共通する部分があります。

meta metaオブジェクトはHTTPレスポンスメッセージに相当:
  • status: 3桁のHTTPステータスコード (例: 200)
  • msg: HTTP説明句 (例: OK)
responseAPI特有の結果

レスポンスの例

{
   "meta": {
      "status": 200,
      "msg": "OK"
   },
   "response": { ... }
}

HTTPのGETメソッドを使ったすべてのリクエストはJSONPを利用することができます。JSONPを使うには、jsonp=につづけてコールバック関数名をリクエストに付け加えます(訳者注: http://api.tumblr.com/.../hogehoge?jsonp=callbackFunction という具合で)。JSONPリクエストは常にHTTPステータスコード 200を返します。しかし、本当のステータスコードはJSONレスポンスのmetaフィールドに反映されています。

APIドキュメントについて

ドキュメントは動作するサンプルをいくつか含んでいます。どうぞ心ゆくまでサンプルをクリックしてみてください。けれど、なにか悪さをするためにサンプルに埋め込まれたAPIキーを使わないでください。あなた用のAPIキー(OAuth Consumerキー)を入手するためにあなたのアプリケーションを登録してください

URIの表記の仕方

表記 意味
中括弧 { } 必須項目 api.tumblr.com/v2/blog/
{base-hostname}/posts

ブログホスト名が必須だということを表しています。
大括弧 [ ] 任意項目 api.tumblr.com/v2/blog/
{base-hostname}/posts[/type]

投稿タイプが任意であることを表しています。

認証

APIでは、メソッドによって3つの異なった認証レベルを使用します。

  1. None: 認証なし。誰でもメソッドを使用できます。
  2. API key: APIキーを必要とするもの。api_keyとしてあなたのOAuth Consumerキーを使います。
  3. OAuth: OAuth 1.0a プロトコルに則った署名済みリクエストを必要とするもの。

それぞれのメソッドの詳細で認証レベルについて触れています。

OAuth

APIはOAuth 1.0a プロトコルをサポートしており、HMAC-SHA1署名法を使った Authorizationヘッダを通じてパラメータを受け取ります。もしかするとすでにあなたのプラットフォームに見合ったOAuthクライアントライブラリがあるかもしれません。

Endpoints

Request-token URL http://www.tumblr.com/oauth/request_token
Authorize URL http://www.tumblr.com/oauth/authorize
Access-token URL http://www.tumblr.com/oauth/access_token

Blogメソッド

/info — ブログ情報の取得

このメソッドはブログの一般的な情報を返します。たとえば、タイトルや投稿数など高水準なデータ(訳者注: 扱いやすいデータ といったほうがいいかもしれない)のことです。

APIリクエストの例

メソッド

URI HTTPメソッド 認証
api.tumblr.com/v2/blog/{base-hostname}/info?api_key={key} GETAPI key

リクエストパラメータ

パラメータ 種類 詳細 デフォルト値 必須?
base-hostname 文字列 スタンダード/カスタムブログホスト名
詳細は概要をご覧ください。
N/A Yes
api_key 文字列 あなたのOAuth Consumerキー
詳細は認証をご覧ください。
N/A Yes

レスポンス

レスポンス項目 種類 詳細 備考
title 文字列 ブログの表示タイトル 比較: name
posts 数値 ブログの総投稿数  
name 文字列 スタンダードブログホスト名では tumblr.com より前の部分(カスタムブログホスト名ではドメインより前の部分) 比較: title
updated 数値 一番最後の投稿があった時刻(エポック秒)  
詳細 文字列 ブログの詳細  
ask 真偽値 Questionsが可能かどうか  
ask_anon 真偽値 Anonymous Questionsが可能かどうか asktrue である場合だけ出力されます
likes 数値 ユーザーのlikeの数 ユーザーのメインブログでlikeを公開している場合だけ出力されます

レスポンスの例

{
   "meta": {
      "status": 200,
      "msg": "OK"
   },
   "response": {
      "blog": {
         "title": "David's Log",
         "posts": 3456,
         "name": "david",
         "url": "http:\/\/david.tumblr.com\/",
         "updated": 1308953007,
         "description": "<p><strong>Mr. Karp<\/strong> is tall and skinny, with
            unflinching blue eyes a mop of brown hair.\r\n
            He speaks incredibly fast and in complete paragraphs.</p>",
         "ask": true,
         "ask_anon": false,
         "likes": 12345
      }
   }
}

/avatar — アイコン画像の取得

アイコン画像を取得できます。大きさは9種類あります。デフォルトの大きさは64x64です。

APIリクエストの例

メソッド

URI HTTPメソッド 認証
api.tumblr.com/v2/blog/{base-hostname}/avatar[/size] GETNone

リクエストパラメータ

パラメータ 種類 詳細 デフォルト値 必須?
base-hostname 文字列 スタンダード/カスタムブログホスト名
詳細は概要をご覧ください。
N/A Yes
size 数値 アイコン画像のサイズ(指定した数値を一辺の長さとする正方形で画像が返ります)。 以下の数値の中から1つを指定してください:
16, 24, 30, 40, 48, 64, 96, 128, 512
64 No

レスポンス

レスポンス項目 種類 詳細 備考
avatar_url 文字列 アイコン画像のURL。HTTPヘッダのLocationフィールドにも出力されます。(備考も見て) HTTPヘッダのLocationフィールドが返るということは、レスポンスがアイコン画像を指すことになります。つまり、HTMLのimgタグにこのメソッドを使うことも可能です。(訳者注: imgタグののsrc属性のURIとして使えるということです)

/followers — フォロワーの取得

メソッド

URI HTTPメソッド 認証
api.tumblr.com/v2/blog/{base-hostname}/followers GET OAuth

リクエストパラメータ

パラメータ 種類 詳細 デフォルト値 必須?
base-hostname 文字列 スタンダード/カスタムブログホスト名
詳細は概要をご覧ください。
N/A Yes
limit 数値 取得するフォロワーの数。1から20までの数値で指定してください。 20 No
offset 数値 取得開始位置 0 (最初のフォロワー) No

レスポンス

usersオブジェクトに包まれて返されるフィールドがあります:

レスポンス項目 種類 詳細
total_users 数値 現在の総フォロワー数
users 配列 各要素はフォロワーを表します。以下のフィールドを含みます:
name 文字列 tumblrでのユーザー名
url 文字列 メインブログのURL
updated 数値 一番最後の投稿があった時刻(エポック秒)

レスポンスの例

{
   "meta": {
      "status": 200,
      "msg": "OK"
   },
   "response": {
      "total_users": 2684,
      "users":  [
            {
               "name": "david",
               "url": "http:\/\/www.davidslog.com",
               "updated": 1308781073
            },
            {
               "name": "ben",
               "url": "http:\/\/bengold.tv",
               "updated": 1308841333
            },
            ...
         ]
   }
}

/posts – 投稿データの取得

APIリクエストの例

メソッド

URI HTTPメソッド 認証
api.tumblr.com/v2/blog/{base-hostname}/posts[/type]?api_key={key}&[optional-params=] GET API key

リクエストパラメータ

パラメータ 種類 詳細 デフォルト値 必須?
base-hostname 文字列 スタンダード/カスタムブログホスト名
詳細は概要をご覧ください。
N/A Yes
api_key 文字列 あなたのOAuth Consumerキー
詳細は認証をご覧ください。
N/A Yes
type 文字列 取得する投稿データ種別。次のうち1つを指定します:  text, quote, link, answer, video, audio, photo None – すべての種類を返します No
id 数値 投稿データID。 単一の投稿データを取得します。IDで指定されるデータがない場合は404エラーが返ります。 None No
tag 文字列 取得データを絞り込むタグ None No
limit 数値 取得する投稿データの数。1から20までの数値で指定してください。 20 No
offset 数値 取得開始位置 0 (最初の投稿データ) No
reblog_info 真偽値 reblog情報を返すかどうかを指定します (truefalseで指定)。 true を指定すると、いろいろな reblogged_ フィールドが返ります。 False No
notes_info 真偽値 notes情報を返すかどうかを指定します (truefalseで指定)。 true を指定すると、note数とnoteデータが返ります。 False No
format 文字列 投稿データの形式を指定します。HTML以外では次のものがあります:
  • text – プレーンテキスト。HTMLなし。
  • raw – ユーザーが入力したまま(後処理なし)。もし、ユーザーがMarkdownで入力していた場合は、HTMLではなくMarkdownが返されます。
None (HTML) No

reblog_infonotes_infofalse がデフォルトです。 データ送信時、サーバに負荷がかかるためです。

レスポンス

各レスポンスは /infoレスポンスに相当する blog オブジェクトを含んでいます。投稿データは postsフィールド内の配列で返されます。

すべての投稿種別に共通のレスポンス項目

レスポンス項目 種類 詳細 備考
blog_name 文字列 ブログを一意に識別する短い名前  
id 数値 投稿データの一意なID  
post_url 文字列 投稿データのURL  
type 文字列 投稿データ種別 リクエストパラメータのtypeもご覧ください。
timestamp 数値 投稿データの時刻(エポック秒)  
date 文字列 投稿データのGMT日時文字列  
format 文字列 投稿形式: htmlmarkdown  
reblog_key 文字列 投稿データをreblogするときに使用するキー /reblogメソッドもご覧ください。
tags 配列 (文字列) 投稿データにつけられたタグ  
bookmarklet 真偽値 Tumblr bookmarkletを使って投稿されたデータかどうか trueである場合のみ、このフィールドが出力されます。
mobile 真偽値 携帯+Eメールで投稿を使って投稿されたデータかどうか trueである場合のみ、このフィールドが出力されます。
source_url 文字列 投稿データ(quoteやreblogなど)の出典(source)のURL 出典(source)がある場合のみ、このフィールドが出力されます。
source_title 文字列 出典(source)サイトのタイトル 出典(source)がある場合のみ、このフィールドが出力されます。
total_posts 数値 このリクエストで利用可能な投稿データの総数。リクエスト結果のページング処理に使います。  

Text Posts

レスポンス項目 種類 詳細
title 文字列 投稿データの任意のタイトル
body 文字列 投稿データのすべての本文
{
   "meta": {
      "status": 200,
      "msg": "OK"
   },
   "response": {
      "blog": { ... },
      "posts": [
         {
            "blog_name": "citriccomics",
            "id": 3507845453,
            "post_url": "http:\/\/citriccomics.tumblr.com\/post\/3507845453",
            "type": "text",
            "date": "2011-02-25 20:27:00 GMT",
            "timestamp": 1298665620,
            "format": "html",
            "reblog_key": "b0baQtsl",
            "tags": [
               "tumblrize",
               "milky dog",
               "mini comic"
            ],
            "note_count": 14,
            "title": "Milky Dog",
            "body": "<p><img src=\"http:\/\/media.tumblr.com\
               /tumblr_lh6x8d7LBB1qa6gy3.jpg\"\/><a href=\"http:\/\
               /citriccomics.com\/blog\/?p=487\" target=\"_blank\">TO READ
               THE REST CLICK HERE<\/a><br\/>\n\nMilky Dog was inspired by
               something <a href=\"http:\/\/gunadie.com\/naomi\"
               target=\"_blank\">Naomi Gee<\/a> wrote on twitter, I really
               liked the hash tag <a href=\"http:\/\/twitter.com\/
               search?q=%23MILKYDOG\" target=\"_blank\">#milkydog<\/a>
               and quickly came up with a little comic about it. You can
               (and should) follow Naomi on twitter <a href=\"http:\/\
               /twitter.com\/ngun\" target=\"_blank\">@ngun<\/a> I'm on
               twitter as well <a href=\"http:\/\/twitter.com\
               /weflewairplanes\"target=\"_blank\">@weflewairplanes<\/a>
               <\/p>\n\nAlso, if you’re a Reddit user (or even if
               you're not) I submitted this there, if you could up vote
               it I'd be super grateful just <a href=\"http:\/\
               /tinyurl.com\/5wj3tqz\" target=\"_blank\">CLICK HERE<\/a>"
         },
         ...
      ],
      "total_posts": 3
   }
}

Photo Posts

レスポンス項目 種類 詳細
photos 配列 photoオブジェクトのプロパティ:
  • caption – 文字列: ユーザーが付けた個々の画像の見出し (画像セットのみ)
  • alt_sizes – 配列: 画像の代替サイズ。以下のプロパティを持ちます:
    • width – 数値: 画像の幅 (単位: pixels)
    • height – 数値: 画像の高さ (単位: pixels)
    • url – 文字列: 画像ファイルのURL (JPG, GIF, PNGのいずれか)
caption 文字列 ユーザーが付けた画像の見出し
width 数値 画像または画像セットの幅
height 数値 画像または画像セットの高さ

複数の画像投稿は画像セット(Photosets)と呼ばれ、photosフィールド内の配列で複数のphotoオブジェクトを返します。

{
   "meta": {
      "status": 200,
      "msg": "OK"
   },
   "response": {
      "blog": { ... },
      "posts": [
         {
            "blog_name": "derekg",
            "id": 7431599279,
            "post_url": "http:\/\/derekg.org\/post\/7431599279",
            "type": "photo",
            "date": "2011-07-09 22:09:47 GMT",
            "timestamp": 1310249387,
            "format": "html",
            "reblog_key": "749amggU",
            "tags": [],
            "note_count": 18,
            "caption": "<p>my arm is getting tired.<\/p>",
            "photos": [
               {
                  "caption": "",
                  "alt_sizes": [
                     {
                        "width": 1280,
                        "height": 722,
                        "url": "http:\/\/derekg.org\/photo\/1280\/7431599279\/1\/
                           tumblr_lo36wbWqqq1qanqww"
                     },
                     {
                        "width": 500,
                        "height": 282,
                        "url": "http:\/\/30.media.tumblr.com\/
                           tumblr_lo36wbWqqq1qanqwwo1_500.jpg"
                     },
                     {
                        "width": 400,
                        "height": 225,
                        "url": "http:\/\/29.media.tumblr.com\/
                           tumblr_lo36wbWqqq1qanqwwo1_400.jpg"
                     },
                     {
                        "width": 250,
                        "height": 141,
                        "url": "http:\/\/26.media.tumblr.com\/
                           tumblr_lo36wbWqqq1qanqwwo1_250.jpg"
                     },
                     {
                        "width": 100,
                        "height": 56,
                        "url": "http:\/\/24.media.tumblr.com\/
                           tumblr_lo36wbWqqq1qanqwwo1_100.jpg"
                     },
                     {
                        "width": 75,
                        "height": 75,
                        "url": "http:\/\/30.media.tumblr.com\/
                           tumblr_lo36wbWqqq1qanqwwo1_75sq.jpg"
                     }
                  ]
               }
            ]
         }
      ],
      "total_posts": 1
   }
}

Quote Posts

レスポンス項目 種類 詳細 備考
text 文字列 quoteのテキスト (投稿時にユーザーが編集できます)  
source 文字列 quoteの出典(source)となるすべてのHTML
例: <a href="...">Steve Jobs</a>
すべての投稿種別に共通のレスポンス項目の表もご覧ください
{
   "meta": {
      "status": 200,
      "msg": "OK"
   },
   "response": {
      "blog": { ... },
      "posts": [
         {
            "blog_name": "museumsandstuff",
            "id": 4742980381,
            "post_url": "http:\/\/museumsandstuff.tumblr.com\/post\/4742980381",
            "type": "quote",
            "date": "2011-04-19 08:52:34 GMT",
            "timestamp": 1303203154,
            "format": "html",
            "reblog_key": "KLA85e6c",
            "tags": [],
            "note_count": 23,
            "source_url": "http:\/\/museumtwo.blogspot.com\/2011\/04\/
               guest-post-convivial-museum-photo-essay.html",
            "source_title": "museumtwo.blogspot.com",
            "text": "Why do visitors still report discomfort, confusion,
               elitism, exclusion?",
            "source": "<a href=\"http:\/\/museumtwo.blogspot.com\/2011\/04\/
               guest-post-convivial-museum-photo-essay.html\"
               target=\"_blank\">Museum 2.0: Guest Post: The Convivial
               Museum Photo Essay<\/a> (via <a href=\"http:\/\/
               www.joshrobinson.org\/\"target=\"_blank\">joshrobinsonblog
               <\/a>)"
         },
         ...
      ],
      "total_posts": 9
   }
}
レスポンス項目 種類 詳細
title 文字列 リンク先ページのタイトル
url 文字列 リンクURL
詳細 文字列 ユーザーが付けた詳細
{
   "meta": {
      "status": 200,
      "msg": "OK"
   },
   "response": {
      "blog": { ... },
      "posts": [
         {
            "blog_name": "travellingcameraclub",
            "id": 688472164,
            "post_url": "http:\/\/travellingcameraclub.com\/post\/688472164",
            "type": "link",
            "date": "2010-06-11 23:17:08 GMT",
            "timestamp": 1276298228,
            "format": "html",
            "reblog_key": "RWhJJWia",
            "tags": [],
            "note_count": 9,
            "title": "Esther Aarts Illustration | News and Blog: Faq: How do
               you make those marker doodles?",
            "url": "http:\/\/blog.estadiezijn.nl\/post\/
               459075181\/faq-how-do-you-make-those-marker-doodles",
            "description": "<blockquote>\n<p>On my Ipad, of course!<\/p>
                <p>Nothing better than the latest technology to get the job done.
                Look at all my apps!<\/p> <p><img height=\"555\" width=\"500\"
                src=\"http:\/\/farm5.static.flickr.com\/4006\/
                4445161463_31da0327c2_o.jpg\" alt=\"my iPad\"\/><\/p>
                <p>My favourite markers are an Edding 400, a Sharpie and a
                Copic Ciao. The white gouache is from Dr Martins and does a
                decent job covering up whatever needs to be covered up, and
                flows.<\/p><\/blockquote>"
         }
         ...
      ],
      "total_posts": 7
   }
}

Chat Posts

レスポンス項目 種類 詳細
title 文字列 投稿データの任意のタイトル
body 文字列 チャットのすべての本文
dialogue 配列 以下のプロパティを持ったオブジェクトの配列:
  • name – 文字列: 話し手の名前
  • label – 文字列: 話してのラベル
  • phrase – 文字列: テキスト
{
   "meta": {
      "status": 200,
      "msg": "OK"
   },
   "response": {
      "blog": { ... },
      "posts": [
         {
            "blog_name": "david",
            "id": 5845345725,
            "post_url": "http:\/\/www.davidslog.com\/5845345725\/
            if-youre-okay-with-it-destroying-tumblr,
            "type": "chat",
            "date": "2011-05-25 22:32:00 GMT",
            "timestamp": 1306362720,
            "format": "html",
            "reblog_key": "wlxAsElf",
            "tags": [],
            "note_count": 114,
            "title": null,
            "body": "David: http://staff.tumblr.com/post/5845153911
                [draft] Topherchris: are you freaking serious\r\n
                David: If you're okay with it - I'd love to :)\r\n
                Topherchris: i'm okay with it, if you're okay with
                it destroying tumblr",
            "dialogue": [
                {
                   "label": "David:",
                   "name": "David",
                   "phrase": "http://staff.tumblr.com/post/5845153911 [draft]\r",
                },
                {
                   "label": "Topherchris:",
                   "name": "Topherchris",
                   "phrase":"are you freaking serious\r"
                },
                {
                   "label": "David:",
                   "name": "David",
                   "phrase": "If you're okay with it - I'd love to :)"
                },
                {
                   "label": "Topherchris:",
                   "name": "Topherchris",
                   "phrase": "i'm okay with it, if you're okay with it
                      destroying tumblr",
                }
            ]
         }
         ...
      ],
      "total_posts": 7
   }
}

Audio Posts

レスポンス項目 種類 詳細
caption 文字列 ユーザーが付けた見出し
player 文字列 埋め込み音楽プレイヤーのHTML
plays 数値 audio投稿データの再生回数
album_art 文字列 音楽ファイルのID3タグのアルバムアート画像のURL
artist 文字列 音楽ファイルのID3タグの artist の値
album 文字列 音楽ファイルのID3タグの album の値
track_name 文字列 音楽ファイルのID3タグの title の値
track_number 数値 音楽ファイルのID3タグの track の値
year 数値 音楽ファイルのID3タグの year の値
{
   "meta": {
      "status": 200,
      "msg": "OK"
   },
   "response": {
      "blog": { ... },
      "posts": [
         {
            "blog_name": "derekg",
            "id": 5578378101,
            "post_url": "http:\/\/derekg.org\/post\/5578378101/otis-redding",
            "type": "audio",
            "date": "2011-05-17 16:21:05 GMT",
            "timestamp": 1305649265,
            "format": "html",
            "reblog_key": "Wa65rR5l",
            "tags": [],
            "note_count": 3,
            "source_url": "http:\/\/soundcloud.com\/mariam-cabal\/otis-redding",
            "source_title": "SoundCloud \/ Mariam Caballero",
            "id3_title": "Otis Redding - Cigarettes And Coffee",
            "caption": "<p>Otis Redding never fails me.\u00a0<\/p>",
            "player": "<embed type=\"application\/x-shockwave-flash\"
                src=\"http:\/\/assets.tumblr.com\/swf\/audio_player.swf?
                audio_file=http:\/\/www.tumblr.com\/audio_file\/5578378101\/
                tumblr_llclf5oDKZ1qanqww&color=FFFFFF&logo=soundcloud\"
                height=\"27\" width=\"207\" quality=\"best\"><\/embed>",
            "plays": 1576
         }
      ],
      "total_posts": 1
   }
}

Video Posts

レスポンス項目 種類 詳細 備考
caption 文字列 ユーザーが付けた見出し  
player embedオブジェクトの配列 配列内のオブジェクト:
  • width – 数値: 動画プレイヤーの幅(単位: pixels)
  • embed_code – 文字列: 埋め込み動画プレイヤーのHTML
動画ソースによって値が変わります
{
   "meta": {
      "status": 200,
      "msg": "OK"
   },
   "response": {
      "blog": { ... },
      "posts": [
         {
            "blog_name": "john",
            "id": 6522991678,
            "post_url": "http:\/\/john.io\/post\/6522991678",
            "type": "video",
            "date": "2011-06-14 15:51:21 GMT",
            "timestamp": 1308066681,
            "format": "html",
            "reblog_key": "sWRdVJrI",
            "tags": [],
            "note_count": 17,
            "source_url": "http:\/\/www.WatchMojo.com",
            "source_title": "WatchMojo.com",
            "caption": "<p><a href=\"http:\/\/foreverneilyoung.tumblr.com\/
               post\/6522738445\" target=\"_blank\">foreverneilyoung<\/a>:
               <\/p>\n<blockquote>\n<p><a href=\"http:\/\/watchmojo.tumblr.com\/
               post\/6521201320\" target=\"_blank\">watchmojo<\/a>:<\/p>\n
               <blockquote>\n<p>Neil Young\u2019s live album \u201cA Treasure\
               u201d is available today. To celebrate, we take a look at the
               life and career of the Canadian singer-songwriter.
               <\/p>\n<\/blockquote>\n<p>Neil 101 for you new fans out
               there.<\/p>\n<\/blockquote>\n<p><strong>If you don't
               know\/appreciate Neil Young's impressive body of work,
               this will help<\/strong><\/p>",
            "player": [
               {
                  "width": 250,
                  "embed_code": "<object width=\"248\" height=\"169\"><param
                     name=\"movie\" value=\"http:\/\/www.youtube.com\/
                     v\/4Q1aI7xPo0Y&rel=0&egm=0&
                     showinfo=0&fs=1\"><\/param><param name=\"wmode\"
                     value=\"transparent\"><\/param><param name=\"
                     allowFullScreen\" value=\"true\"><\/param><embed
                     src=\"http:\/\/www.youtube.com\/v\/
                     4Q1aI7xPo0Y&rel=0&egm=0&showinfo=
                     0&fs=1\" type=\"application\/x-shockwave-flash\"
                     width=\"248\" height=\"169\" allowFullScreen=\"true\"
                     wmode=\"transparent\"><\/embed><\/object>"
               },
               {
                  "width": 400,
                  "embed_code": "<object width=\"400\" height=\"251\">
                     <param name=\"movie\" value=\"http:\/\/www.youtube.com\/
                     v\/4Q1aI7xPo0Y&rel=0&egm=0&showinfo=0&fs=1\"><\/
                     param><param name=\"wmode\" value=\"transparent
                     \"><\/param><param name=\"allowFullScreen\" value=
                     \"true\"><\/param><embed src=\"http:\/\/www.youtube.com
                     \/v\/4Q1aI7xPo0Y&rel=0&egm=0&
                     showinfo=0&fs=1\" type=\"application\/
                     x-shockwave-flash\" width=\"400\" height=\"251\"
                     allowFullScreen=\"true\" wmode=\"transparent\">
                     <\/embed><\/object>"
               },
               {
                  "width": 500,
                  "embed_code": "<object width=\"500\" height=\"305\"><param
                     name=\"movie\" value=\"http:\/\/www.youtube.com\/
                     v\/4Q1aI7xPo0Y&rel=0&egm=0&
                     showinfo=0&fs=1\"><\/param><param name=\"wmode\"
                     value=\"transparent\"><\/param><param name=\"
                     allowFullScreen\" value=\"true\"><\/param><embed
                     src=\"http:\/\/www.youtube.com\/v\/4Q1aI7xPo0Y&
                     rel=0&egm=0&showinfo=0&fs=1\"
                     type=\"application\/x-shockwave-flash\" width=\"500\"
                     height=\"305\" allowFullScreen=\"true\"
                     wmode=\"transparent\"><\/embed><\/object>"
               }
            ]
         },
         ...
      ],
      "total_posts": 48
   }
}

Answer Posts

レスポンス項目 種類 詳細
asking_name 文字列 questionをしたユーザーのブログ名
asking_url 文字列 questionをしたユーザーのブログURL
question 文字列 questionの本文
answer 文字列 answerの本文
{
   "meta": {
      "status": 200,
      "msg": "OK"
   },
   "response": {
      "blog": { ... },
      "posts": [
         {
            "blog_name": "david",
            "id": 7504154594,
            "post_url": "http://www.davidslog.com/7504154594",
            "type": "answer",
            "date": "2011-07-11 20:24:14 GMT",
            "timestamp": 1310415854,
            "format": "html",
            "reblog_key": "HNvqLd5G",
            "tags": [],
            "asking_name": "aperfectfacade",
            "asking_url": "http://aperfectfacade.tumblr.com/",
            "question": "I thought Tumblr started in 2007, yet you
               have posts from 2006?",
            "answer": "<p>Good catch! Tumblr <strong>launched</strong> in
               February 2007. We were testing it for a few months before
               then.</p>\n<p><strong>Tumblr Trivia:</strong> Before Tumblr,
               my blog (davidslog.com) was a manually edited, single page,
               HTML tumblelog.</p>"
         }
      ],
      "total_posts": 1
   }
}

/posts/queue — キュー投稿の取得

メソッド

URI HTTPメソッド 認証
api.tumblr.com/v2/blog/{base-hostname}/posts/queue GET OAuth

レスポンス

すべての投稿種別に共通のレスポンス項目の表もご覧ください

すべてのキュー投稿が返ります(ページング処理なし)

/posts/draft — 下書き投稿の取得

メソッド

URI HTTPメソッド 認証
api.tumblr.com/v2/blog/{base-hostname}/posts/draft GETOAuth

レスポンス

すべての投稿種別に共通のレスポンス項目の表もご覧ください

すべての下書き投稿が返ります(ページング処理なし)

/posts/submission — 提案投稿の取得

メソッド

URI HTTPメソッド 認証
api.tumblr.com/v2/blog/{base-hostname}/posts/submission GET OAuth

レスポンス

すべての投稿種別に共通のレスポンス項目の表もご覧ください

すべての提案投稿が返ります(ページング処理なし)

/post — 新規に投稿する

メソッド

URI HTTPメソッド 認証
api.tumblr.com/v2/blog/{base-hostname}/post POST OAuth

リクエストパラメータ

これらのパラメータは /post/post/edit 、及び /post/reblog メソッドで使用されます。

すべての投稿種別に共通のリクエストパラメータ項目

パラメータ 種類 詳細 デフォルト値 必須?
type 文字列 新規投稿の種別。以下の中から1つ指定します:  text, photo, quote, link, chat, audio, video text Yes
state 文字列 投稿の状態。以下の中から1つ指定します:  published, draft, queue published No
tags 文字列 コンマ区切りのタグのリスト None No
tweet 文字列 自動ツイート(利用可能であれば)をするかどうか: off を指定するとツイートしません。なんらかのテキストを指定するとデフォルトのツイートを上書きしてツイートします。 None No
date 文字列 GMT日時文字列 POSTリクエストされた日時 No
markdown 真偽値 Markdown文法を使った投稿かどうか False No
slug 文字列 投稿データURLの最後の部分となる短いテキスト要約 ブログで利用可能にしていれば動的に生成されます No

Text Posts

パラメータ 種類 詳細 デフォルト値 必須?
title 文字列 任意のタイトル。HTMLエンティティはエスケープされます。 None No
body 文字列 投稿本文。HTML利用可能。 None Yes

Photo Posts

パラメータ 種類 詳細 デフォルト値 必須?
caption 文字列 ユーザー指定の見出し。HTML利用可能。 None No
link 文字列 画像につけるリンクURL None No
source 文字列 出典(source)のURL None Yes
source または data のどちらかが必須です
data 配列
(URLエンコードされたバイナリデータ)
容量制限: 5 MB
1つまたは複数の画像ファイル (スライドショーを作るために複数回送信する) None Yes
source または data のどちらかが必須です

Quote Posts

パラメータ 種類 詳細 デフォルト値 必須?
quote 文字列 quoteのすべてのテキスト。HTMLエンティティはエスケープされます。 None Yes
source 文字列 quoteの出典(source)。HTML利用可能。 None No
パラメータ 種類 詳細 デフォルト値 必須?
title 文字列 リンク先ページのタイトル。HTMLエンティティはエスケープされます。 None No
url 文字列 リンクURL None Yes
description 文字列 ユーザー指定の詳細。HTML利用可能。 None No

Chat Posts

パラメータ 種類 詳細 デフォルト値 必須?
title 文字列 チャットのタイトル None No
conversation 文字列 会話のラベル付きの会話/チャットのテキスト(HTML利用不可) None Yes

Audio Posts

パラメータ 種類 詳細 デフォルト値 必須?
caption 文字列 ユーザー指定の見出し None No
external_url 文字列 音楽ファイルを置いているサイトのURL(tumblr以外) None Yes
external_urldata のどちらかが必須です
data 文字列
(URLエンコードされたバイナリデータ)
容量制限: 5 MB
音楽ファイル None Yes
external_urldata のどちらかが必須です

Video Posts

パラメータ 種類 詳細 デフォルト値 必須?
caption 文字列 ユーザー指定の見出し None No
embed 文字列 動画の埋め込み用HTMLコード None Yes
embeddata のどちらかが必須です
data 文字列
(URLエンコードされたバイナリデータ)
容量制限: 5 MB
動画ファイル None Yes
embeddata のどちらかが必須です

レスポンス

201: Createdが返されるか、エラーコードが返されます。

/post/edit – 投稿の編集

メソッド

URI HTTPメソッド 認証
api.tumblr.com/v2/blog/{base-hostname}/post/edit POST OAuth

リクエストパラメータ

/postのすべての投稿種別に共通のリクエストパラメータ項目と共通です。付け加えて以下のパラメータがあります

パラメータ 種類 詳細 デフォルト値 必須?
id 数値 編集する投稿データのID None Yes

レスポンス

200: OKが返される(編集が成功した場合)か、エラーコードが返されます。

/post/reblog – Reblogする

メソッド

URI HTTPメソッド 認証
api.tumblr.com/v2/blog/{base-hostname}/post/reblog POST OAuth

リクエストパラメータ

/postのすべての投稿種別に共通のリクエストパラメータ項目と共通です。付け加えて以下のパラメータがあります

パラメータ 種類 詳細 デフォルト値 必須?
id 数値 tumblelogのreblogされた投稿データのID Next available ID No
reblog_key 数値 reblogされた投稿データのreblogキー。/postsリクエストで取得します。 None Yes
comment 文字列 reblogされた投稿データに付け加えるコメント None No

レスポンス

201: Createdが返されるか、エラーコードが返されます。

/post/delete – 投稿の削除

メソッド

URI HTTPメソッド 認証
api.tumblr.com/v2/blog/{base-hostname}/post/delete POST OAuth

リクエストパラメータ

パラメータ 種類 詳細 デフォルト値 必須?
id 数値 削除する投稿データのID None Yes

レスポンス

200: OKが返される(編集が成功した場合)か、エラーコードが返されます。

Userメソッド

/user/info – ユーザー情報の取得

リクエストで送信されたOAuth認証情報に合致するユーザーアカウント情報を取得するためにこのメソッドを使用します。

メソッド

URI HTTPメソッド 認証
api.tumblr.com/v2/user/info POST OAuth

レスポンス

レスポンス項目 種類 詳細
following 数値 ユーザーがフォローしているブログの数
default_post_format 文字列 デフォルトの投稿形式 - html, markdown, raw
name 文字列 ユーザーの短いtumblr名
likes 数値 ユーザーのlike数
blogs 配列 各項目はユーザーが投稿できるブログの情報を示しており、次のフィールドを含んでいます:
  • name – 文字列: ブログの短縮名
  • url – 文字列: ブログのURL
  • title – 文字列: ブログのタイトル
  • primary – 真偽値: ユーザーのメインブログであるかどうか
  • followers – 数値: ブログのフォロワー数
  • tweet – 数値(訳者注: 文字列の誤植): 投稿がツイートされるかどうか - auto, Y, N

レスポンスの例

{
   "meta": {
      "status": 200,
      "msg": "OK"
   },
   "response": {
     "user": {
       "following": 263,
       "default_post_format": "html",
       "name": "derekg",
       "likes": 606,
       "blogs": [
          {
           "name": "derekg",
           "title": "Derek Gottfrid",
           "url": "http://derekg.org/",
           "tweet": "auto",
           "primary": true,
           "followers": 33004929,
          },
          {
           "name": "ihatehipstrz",
           "title": "I Hate Hipstrz",
           ...
          }
        ]
     }
}

/user/dashboard – ダッシュボードの取得

リクエストで送信されたOAuth認証情報に合致するユーザーのダッシュボードを取得するためにこのメソッドを使用します。

メソッド

URI HTTPメソッド 認証
api.tumblr.com/v2/user/dashboard GET OAuth

リクエストパラメータ

パラメータ 種類 詳細 デフォルト値 必須?
limit 数値 取得する投稿データの数。1から20までの数値で指定してください。 20 No
offset 数値 取得開始位置 0 (最初の投稿) No
type 文字列 取得する投稿データ種別。次のうち1つを指定します:  text, photo, quote, link, chat, audio, video, question None – すべての種類を返します No
since_id 数値 指定するこのIDの次の投稿データを返すようにします
ダッシュボードのページング処理をするためにこのパラメータを使います: まず投稿データを取得して、その投稿データの一番最後のIDを指定して次の投稿データを取得します。
0 No
reblog_info 真偽値 reblog情報を返すかどうかを指定します (truefalseで指定)。 true を指定すると、いろいろな reblogged_ フィールドが返ります。 False No
notes_info 真偽値 notes情報を返すかどうかを指定します (truefalseで指定)。 true を指定すると、note数とnoteデータが返ります。 False No

レスポンス

/postsレスポンスで返されるフィールドが(種別特有のフィールドも含めて)、このメソッドのレスポンスに含まれます。しかし、blogオブジェクトだけは含まれません。代わりに、各投稿データのブログを識別するblog_nameフィールドが返されます。

レスポンスの例

{
   "meta": {
      "status": 200,
      "msg": "OK"
   },
   "response": {
      "posts": [
         {
            "blog_name": "laughingsquid",
            "id": 6828225215,
            "post_url": "http:\/\/links.laughingsquid.com\/post\/6828225215",
            ...
         }
      ]
   }
}

/user/likes — likeの取得

リクエストで送信されたOAuth認証情報に合致するユーザーがlikeした投稿データを取得するためにこのメソッドを使用します。

メソッド

URI HTTPメソッド 認証
api.tumblr.com/v2/user/likes GET OAuth

リクエストパラメータ

パラメータ 種類 詳細 デフォルト値 必須?
limit 数値 取得する投稿データの数。1から20までの数値で指定してください。 20 No
offset 数値 取得開始位置 0 (最初の投稿) No

レスポンス

レスポンス項目 種類 詳細
liked_post 配列 投稿オブジェクトの配列 (ユーザーによってlikeされた投稿データ)
liked_count 数値 likeされた投稿データの数

/user/following – フォローブログの取得

リクエストで送信されたOAuth認証情報に合致するユーザーがフォローしているブログを取得するためにこのメソッドを使用します。

メソッド

URI HTTPメソッド 認証
api.tumblr.com/v2/user/following GET OAuth

リクエストパラメータ

パラメータ 種類 詳細 デフォルト値 必須?
limit 数値 取得するブログの数。1から20までの数値で指定してください。 20 No
offset 数値 取得開始位置 0 (最初のブログ) No

レスポンス

blogオブジェクトに包まれて返されるフィールドがあります:

レスポンス項目 種類 詳細
total_blogs 数値 フォローしているブログの総数
blogs 配列 各項目はフォローしているブログを示しており、次のフィールドを含んでいます:
  • name – 文字列: フォローしているブログに付けられたユーザー名
  • url – 文字列: フォローしているブログのURL
  • updated – 数値: 一番最後の投稿があった時刻(エポック秒)

レスポンスの例

{
   "meta": {
      "status": 200,
      "msg": "OK"
   },
   "response": {
       "total_blogs": 259,
       "blogs": [
          {
             "name": "david",
             "url": "http:\/\/www.davidslog.com",
             "updated": 1308781073
          },
          {
             "name": "matthew",
             "url": "http:\/\/matthew.tumblr.com",
             "updated": 1306436424
          },
          ...
       ]
   }
}

/user/follow – ブログをフォロー

メソッド

URI HTTPメソッド 認証
api.tumblr.com/v2/user/follow POST OAuth

リクエストパラメータ

パラメータ 種類 詳細 デフォルト値 必須?
url 文字列 フォローするブログのURL None Yes

レスポンス

ブログのフォローに成功した場合は200: OK、ブログが見つからない場合は404が返されます。

/user/unfollow – ブログのアンフォロー

メソッド

URI HTTPメソッド 認証
api.tumblr.com/v2/user/unfollow POST OAuth

リクエストパラメータ

パラメータ 種類 詳細 デフォルト値 必須?
url 文字列 フォローをやめるブログのURL None Yes

レスポンス

ブログのアンフォローに成功した場合は200: OK、ブログが見つからない場合は404が返されます。