Documents‎ > ‎Tumblr‎ > ‎

Tumblr API v2リファレンス和訳(原文:2011/08/07 19:11:23時点)

この文書は、API | Tumblrを和訳したものです。同ページの2011/08/07 19:11時点のものを原文としています。
この文書を、Tumblr Terms of Serviceに準拠した個人的かつ非商用の利用として許諾される範囲内と考え、公開しています。

文書名 Tumblr APIリファレンス和訳
原文 API | Tumblr
和訳者 塚本 牧生 <tsukamoto@gmail.com>
ライセンス Tumblr Terms of Serviceに準拠

なお、本ページには対象とした原文(翻訳開始時点)とGoogle翻訳者ツールキットでの和訳に使用した翻訳メモリが参考として添付されています。

Tumblr API

Tumblr APIへようこそ!私たちにとって、才能あるデザイナーやエンジニアがTumblrを使って新しい創造的な表現を生み出すのを見ること以上の楽しみはありません。私たちはこのAPIを作るにあたって、あなたがプロジェクトに身を投じるに足るだけの機能と柔軟性があるように最大限の注意を払っています。私たちのディスカッショングループに参加して、これの使い方や、どうすればよりうまくいくか、そしてあなたがこれを使ってどんな素晴らしいものを作ろうとしているかと語り合いましょう。責任を持ってAPIを使用し、そして私達にフィードバックをお寄せください。お楽しみください!

あなたが古いAPIのドキュメントを探しているなら、ここで見つかります。

必要事項

OAuthキーを取得する:アプリケーションの登録

あなたが完全な署名付きOAuthを使う必要がない時にも、APIキーを取得するためにはこれが必要です。

詳細については、後述の認証を参照してください。

概要

駆け出す前に、以下の基本事項を確認して下さい。

URIの構造

すべてのTumblrのAPIリクエストは、api.tumblr.comで始まります。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
response API固有の結果

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

HTTP GETで行われるすべてのリクエストでJSONPが利用可能です。JSONPを使うには、jsonp=とあなたのコールバック関数名を追加します。JSONPのリクエストは、常にHTTPステータスコード200を返しますが、JSONレスポンスのmetaフィールドに実際のステータスコードが反映されます。

APIドキュメントについて

ドキュメントは、いくつかの実例が含まれています。心ゆくまでこれらをクリックしてください、ただしここに埋め込まれたAPIキーを不正な目的には使わないでください。アプリケーションを登録し、独自のAPIキー(あなたのOAuthコンシューマキー)を取得して下さい。

URIの表記

表記法 意味
中括弧{} 必要な項目 api.tumblr.com/v2/blog/
{base-hostname}/posts
ブログのホスト名が必要です。
大かっこ[] 省略可能な項目 api.tumblr.com/v2/blog/
{base-hostname}/posts[/type]
投稿の種類の指定はオプションです。

認証

APIは、メソッドに応じて、認証の3つの異なるレベルを使用しています。

  1. None:認証は行われません。誰でもこのメソッドで問合せを行えます。
  2. APIキー:APIキーが必要です。api_keyとして自分のOAuthコンシューマキーを使用してください。
  3. OAuth:OAuth 1.0aプロトコルを満たす署名付きリクエストが必要です 。

メソッドの説明には、認証レベルに関する記述が含まれます。

OAuth

APIはOAuthの1.0Aのプロトコルをサポートし、シグネチャメソッドとしてHMAC-SHA1を使ったパラメータのみを、Authorizationヘッダを介して受け取ります。おそらくあなたのプラットフォームにもすでにOAuthのクライアントライブラリは存在するでしょう。

エンドポイント

リクエストトークンURL http://www.tumblr.com/oauth/request_token
認証URL http://www.tumblr.com/oauth/authorize
アクセストークンURL http://www.tumblr.com/oauth/access_token

Blogメソッド

/info - ブログ情報を取得する

このメソッドはブログについての一般的な情報として、タイトル、投稿数などの高水準データを返します。

メソッド

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

リクエストパラメータ

パラメータ 説明 デフォルト 必須
base-hostname 文字列 標準またはカスタムブログのホスト名
詳細は概要を参照してください。
N/A はい
api_key 文字列 あなたのOAuthコンシューマキー
詳細は認証を参照してください。
N/A はい

レスポンス

レスポンスフィールド 説明 備考
title 文字列 ブログの表示タイトル nameと比較すること
posts 数値 ブログへの総投稿数  
name 文字列 標準のブログホスト名ではtumblr.comより前(そしてカスタムブログホスト名ではドメインより前)に表示されるブログの短縮名 titleと比較すること
updated 数値 最新の投稿日時を示すエポック秒(1970年1月1日0時0分0秒からの秒数)  
description 文字列 あなたの推測どおりです!ブログの説明です。  
ask ブーリアン(真偽値) ブログに質問を許可するかどうかを示します  
ask_anon ブーリアン(真偽値) ブログに匿名の質問を許可するかどうかを示します askがtrueの時のみ返されます
likes 数値 このユーザーの「スキ!」の数 これがユーザーのプライマリーブログで「自分のスキな投稿を公開する」が有効になっているときだけ返されます。

{
   "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 - ブログのプロフィール画像(avator)を取得する

9種類のサイズでブログのプロフィール画像を取得することができます。デフォルトのサイズは64x64です。

メソッド

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

リクエストパラメータ

パラメータ 説明 デフォルト 必須
base-hostname 文字列 標準またはカスタムブログのホスト名
詳細は概要を参照してください。
N/A はい
size 数値 プロフィール画像の大きさ(正方形、長さと幅の両方のための値)。これは、以下のいずれかの値でなければなりません。
16, 24, 30, 40, 48, 64, 96, 128, 512
64 いいえ

レスポンス

レスポンスフィールド 説明 備考
avatar_url 文字列 プロフィール画像の画像のURL。これはLocation HTTPヘッダフィールドとしても返されます(備考参照)。 HTTPのLocationヘッダフィールドが返されます―このレスポンスはプロフィール画像の画像を指しています。これはつまり、このメソッドをimg HTMLタグに埋め込めることを意味しています。

/followers - ブログのファン(follower)を取得する

メソッド

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

リクエストパラメータ

パラメータ 説明 デフォルト 必須
base-hostname 文字列 標準またはカスタムブログのホスト名
詳細は概要を参照してください。
N/A はい
limit 数値 返す結果の数:1–20の範囲で 20 いいえ
offset 数値 結果の開始番号 0(最初のファン) いいえ

レスポンス

これらのフィールドは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 - 公開された投稿を取得する

メソッド

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

リクエストパラメータ

パラメータ 説明 デフォルト 必須
base-hostname 文字列 標準またはカスタムブログのホスト名
詳細は概要を参照してください。
N/A はい
api_key 文字列 あなたのOAuthコンシューマキー
詳細は認証を参照してください。
N/A はい
type 文字列 返される投稿の種類。次のいずれかを指定します: text, quote, link, answer, video, audio, photo なし - すべてのタイプを返す いいえ
id 数値 特定の投稿のID。指定された単一の投稿か、404エラー(見つからない場合)を返します。 なし いいえ
tag 文字列 結果を絞り込む投稿タグの指定 なし いいえ
limit 数値 返される投稿の数:1–20の範囲で 20 いいえ
offset 数値 返される投稿の開始位置 0(最初の投稿) いいえ
reblog_info ブーリアン(真偽値) リブログ情報を返すか否かを示します(trueまたはfalseを指定)。各種のreblogged_フィールドを返します。 False いいえ
notes_info ブーリアン(真偽値) ノート情報を返すか否かを示します(trueまたはfalseを指定)。ノートの数とノートのメタデータを返します。 False いいえ
format 文字列 返される投稿の形式を指定します。HTML以外では
  • text - HTMLではなくプレーンテキストです
  • raw - ユーザーの入力値のまま(後処理なし)。ユーザーがMarkdownで書いていれば、HTMLではなくMarkdownが返されます。
なし(HTML) いいえ

reblog_infonotes_infoは、これらデータの取得はサーバーに影響を与えるので、デフォルトではfalseです。

レスポンス

各レスポンスは、/infoレスポンスと同等のblogオブジェクトを含みます。投稿は追加のpostsフィールドの配列として返されます。

すべての種類の投稿

レスポンスフィールド 説明 備考
blog_name 文字列 ブログを一意に識別するために使う短い名前  
id 数値 投稿の一意のID  
post_url 文字列 投稿のロケーション  
type 文字列 投稿の種類 typeリクエストパラメータを参照
timestamp 数値 投稿日時を示すエポック秒  
date 文字列 投稿のGMTでの日時文字列  
format 文字列 投稿形式:htmlまたはmarkdown  
reblog_key 文字列 この投稿をリブログするために使用するキー /reblogメソッドを参照
tags 配列(文字列) 投稿に付けられているタグ  
bookmarklet ブーリアン(真偽値) 投稿がTumblrブックマークレットで作成されたか否かを示します Trueの時のみ存在
mobile ブーリアン(真偽値) 投稿が携帯+Eメールで投稿で作成されたか否かを示します Trueの時のみ存在
source_url 文字列 コンテンツの出典(source)のURL(引用、reblog等) コンテンツに出典がある場合にのみ存在
source_title 文字列 出典サイトのタイトル コンテンツに出典がある場合にのみ存在
total_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
   }
}

画像の投稿

レスポンスフィールド 説明
photos 配列 以下のプロパティを持つ画像のオブジェクト:
  • caption - 文字列:ユーザーが個々の画像に指定したキャプション(フォトセットのみ)
  • alt_sizes - 配列:代替画像のサイズ、それぞれ以下を持ちます:
    • width - 数値:画像の幅(ピクセル数)
    • height - 数値:画像の高さ(ピクセル数)
    • url - 文字列:画像のファイルの場所(JPG、GIF、またはPNGのいずれか)
caption 文字列 ユーザー指定のキャプション
width 数値 写真やフォトセットの幅
height 数値 写真やフォトセットの高さ

フォトセットと呼ばれる複数枚の画像をまとめた画像投稿では、photos配列で複数の写真のオブジェクトが送信されます。

{
   "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
   }
}

引用の投稿

レスポンスフィールド 説明 備考
text 文字列 引用するテキスト(投稿する際にユーザーが編集可能)  
source 文字列 引用の出典のHTMLすべて
例:<a href="...">
共通のレスポンスフィールドの表も参照してください
{
   "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 文字列 リンク
description 文字列 ユーザー指定の説明
{
   "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
   }
}

チャットの投稿

レスポンスフィールド 説明
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
   }
}

音声の投稿

レスポンスフィールド 説明
caption 文字列 ユーザー指定のキャプション
player 文字列 オーディオプレイヤーを埋め込むためのHTML
plays 数値 この音声の投稿が再生された回数
album_art 文字列 音声ファイルのID3のアルバムアート画像のロケーション
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
   }
}

動画の投稿

レスポンスフィールド 説明 備考
caption 文字列 ユーザー指定のキャプション  
player 埋め込みオブジェクトの配列 配列内のオブジェクトのフィールド:
  • width - 数値:ビデオプレーヤーの幅(ピクセル数)
  • 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
   }
}

回答の投稿

レスポンスフィールド 説明
asking_name 文字列 質問をしたユーザーのブログ名
asking_url 文字列 質問をしたユーザーのブログURL
question 文字列 質問内容
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

レスポンス

共通のレスポンスフィールドの表を参照してください。

キューに入っている投稿の全セットが返されます(ページ分割されません)。

/post/draft - 投稿の下書きを取得する

メソッド

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

レスポンス

共通のレスポンスフィールドの表を参照してください。

投稿の下書きの全セットが返されます(ページ分割されません)。

/post/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 文字列 作成する投稿の種類。次のいずれかを指定します:text, photo, quote, link, chat, audio, video text はい
state 文字列 投稿の状態。次のいずれかを指定します:published, draft, queue published いいえ
tags 文字列 カンマ区切りで投稿に付けるタグ なし いいえ
tweet 文字列 この投稿についての自動Tweet(有効化されていれば)の使用:Tweetをしたくないときはoff、デフォルトのTweetを上書きしたい時はテキストを入力 なし いいえ
date 文字列 投稿のGMTでの日時文字列 POSTリクエストの日付と時刻 いいえ
markdown ブーリアン(真偽値) 投稿にマークダウン記法を使用するかどうかを示します False いいえ
slug 文字列 投稿URLの末尾に付ける短い要約テキスト ブログ上で有効にされている場合、動的に生成 いいえ

テキストの投稿

パラメータ 説明 デフォルト 必須
title 文字列 記事のタイトル(オプション)、HTMLエンティティはエスケープする必要があります なし いいえ
body 文字列 投稿の本文全体、HTMLが許されます なし はい

画像の投稿

パラメータ 説明 デフォルト 必須
caption 文字列 ユーザー指定のキャプション、HTMLが許されます なし いいえ
リンク 文字列 "画像にリンクを設定"のURL なし いいえ
source 文字列 画像の出典のURL なし はい、sourceまたはdataのどちらかが必須
data 配列
(URLエンコードされたバイナリコンテンツ)
制限:5 MB
1つまたは複数の画像ファイル(スライドショーを作成するには複数回サブミット) なし はい、sourceまたはdataのどちらかが必須

引用の投稿

パラメータ 説明 デフォルト 必須
quote 文字列 引用の全文、HTMLエンティティはエスケープする必要があります。 なし はい
source 文字列 引用の出典、HTMLが許されます なし いいえ

リンクの投稿

パラメータ 説明 デフォルト 必須
title 文字列 そのリンクが指すページのタイトル、HTMLエンティティをエスケープする必要があります なし いいえ
url 文字列 リンク なし はい
description 文字列 ユーザー指定の説明、HTMLが許されます なし いいえ

チャットの投稿

パラメータ 説明 デフォルト 必須
title 文字列 チャットのタイトル なし いいえ
conversation 文字列 対話ラベル付の会話/チャットのテキスト(HTML不可) なし はい

音声の投稿

パラメータ 説明 デフォルト 必須
caption 文字列 ユーザー指定のキャプション なし いいえ
external_url 文字列 音声ファイルをホストする(Tumblr以外の)サイトのURL なし はい、external_urlまたはdataのどちらかが必須
data 文字列
(URLエンコードされたバイナリコンテンツ)
制限:5 MB
音声ファイル なし はい、external_urlまたはdataのどちらかが必須

動画の投稿

パラメータ 説明 デフォルト 必須
caption 文字列 ユーザー指定のキャプション なし いいえ
embed 文字列 動画を埋め込むHTML なし はい、embedまたはdataのどちらかが必須
data 文字列
(URLエンコードされたバイナリコンテンツ)
制限:5 MB
動画ファイル なし はい、embedまたはdataのどちらかが必須

レスポンス

201: Createdまたはエラーコードを返します。

/post/edit - ブログの投稿を編集する

メソッド

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

リクエストパラメータ

/post以下にリストされた共通のパラメータに加えて、以下のパラメータ。

パラメータ 説明 デフォルト 必須
id 数値 編集する投稿のID なし はい

レスポンス

200: OK(正常に編集)またはエラーコードを返します。

/post/reblog - 投稿をリブログする

メソッド

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

リクエストパラメータ

/post以下にリストされた共通パラメータに加えて、以下のパラメータ。

パラメータ 説明 デフォルト 必須
id 数値 tumblelog上のリブログ投稿のID 次に使用可能なID いいえ
reblog_key 数値 リブログされる投稿のリブログキー - リブログキーは/postsリクエストで取得します なし はい
comment 文字列 リブログ投稿に追加するコメント なし いいえ

レスポンス

201: Createdまたはエラーコードを返します。

/post/delete - 投稿を削除する

メソッド

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

リクエストパラメータ

パラメータ 説明 デフォルト 必須
id 数値 削除する投稿のID なし はい

レスポンス

200: OK(正常に削除)またはエラーコードを返します。

Userメソッド

/user/info - ユーザー情報を取得する

リクエスト時のOAuth認証情報と合致するユーザーのアカウント情報を取得するには、このメソッドを使用します。

メソッド

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

レスポンス

レスポンスフィールド 説明
following 数値 ユーザーがフォローしているブログの数
default_post_format 文字列 デフォルトの投稿形式- html, markdown or raw
name 文字列 ユーザーのTumblrの短い名前
likes 数値 ユーザーのスキの総数
blogs 配列 (配列内の)個々のアイテムが、ユーザーが投稿権限を持っているブログです。以下のフィールドを持ちます。
  • name - 文字列:ブログの短縮名
  • url - 文字列:ブログのURL
  • title - 文字列:ブログのタイトル
  • primary - ブーリアン(真偽値):このユーザーのプライマリーブログかどうかを示します
  • followers - 数値:このブログのファンの総数
  • tweet - 数値:投稿が自動的に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 いいえ
offset 数値 返される投稿の開始位置 0(最初の投稿) いいえ
type 文字列 返す投稿の種類。次のいずれかを指定します:text, photo, quote, link, chat, audio, video, question なし - すべての種類を返す いいえ
since_id 数値 このID以降に現れる投稿を返す
結果のページめくりにこのパラメータを使用します:最初に投稿セットを取得し、以降は前回のセットの最後のIDからの投稿を取得します。
0 いいえ
reblog_info ブーリアン(真偽値) リブログ情報を返すか否かを示します(trueまたはfalseを指定)。各種のreblogged_フィールドを返します。 False いいえ
notes_info ブーリアン(真偽値) ノート情報を返すか否かを示します(trueまたはfalseを指定)。ノートの数とノートのメタデータを返します。 False いいえ

レスポンス

dashboardのレスポンスには、/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 - ユーザーのスキを取得する

リクエスト時のOAuth認証情報と合致するユーザーのスキな投稿を取得するには、このメソッドを使用します。

メソッド

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

リクエストパラメータ

パラメータ 説明 デフォルト 必須
limit 数値 返す結果の数:1–20の範囲で 20 いいえ
offset 数値 返すスキといった投稿の開始位置 0(最初の投稿) いいえ

レスポンス

レスポンスフィールド 説明
liked_post 配列 投稿オブジェクトの配列(ユーザーがスキといった投稿)
liked_count 数値 スキといった記事の総数

/user/following -ユーザーがフォローしているブログを取得する

リクエスト時のOAuth認証情報と合致するユーザーのフォローしているブログを取得するには、このメソッドを使用します。

メソッド

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

リクエストパラメータ

パラメータ 説明 デフォルト 必須
limit 数値 返す結果の数:1–20の範囲で 20 いいえ
offset 数値 結果の開始位置 0(最初のフォロー対象) いいえ

レスポンス

以下のフィールドが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 なし はい

レスポンス

200: OK(正常にブログをフォロー)または404(ブログが見つかりませんでした)を返します。

/user/unfollow - ブログのフォローを解除する

メソッド

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

リクエストパラメータ

パラメータ 説明 デフォルト 必須
url 文字列 フォローを解除するブログのURL なし はい

レスポンス

200: OK(正常にブログのフォローを解除)または404(ブログが見つかりませんでした)を返します。

ċ
TumblrAPIv2.tmx
(288k)
Makio Tsukamoto,
2011/08/07 4:36
ċ
Makio Tsukamoto,
2011/08/07 4:33