Tumblr API
Tumblr APIへようこそ!私たちにとって、才能あるデザイナーやエンジニアがTumblrを使って新しい創造的な表現を生み出すのを見ること以上の楽しみはありません。私たちはこのAPIを作るにあたって、あなたがプロジェクトに身を投じるに足るだけの機能と柔軟性があるように最大限の注意を払っています。私たちのディスカッショングループに参加して、これの使い方や、どうすればよりうまくいくか、そしてあなたがこれを使ってどんな素晴らしいものを作ろうとしているかと語り合いましょう。責任を持ってAPIを使用し、そして私達にフィードバックをお寄せください。お楽しみください!
あなたが古いAPIのドキュメントを探しているなら、ここで見つかります。
必要事項
OAuthキーを取得する:アプリケーションの登録
あなたが完全な署名付きOAuthを使う必要がない時にも、APIキーを取得するためにはこれが必要です。
詳細については、後述の認証を参照してください。
概要
駆け出す前に、以下の基本事項を確認して下さい。
URIの構造
すべてのTumblrのAPIリクエストは、api.tumblr.comで始まります。URIのパスの次のセグメントは、リクエストの種類によって異なります。
すべての詳細については後述のメソッドを参照。
ブログのホスト名
各ブログは、一意のホスト名を持っています。ホスト名には、標準またはカスタムになります。
- 標準のホスト名:ブログの短縮名+
.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つの異なるレベルを使用しています。
- None:認証は行われません。誰でもこのメソッドで問合せを行えます。
- APIキー:APIキーが必要です。
api_keyとして自分のOAuthコンシューマキーを使用してください。
- 例:
api_key=PyezS3Q4Smivb24d9SzZGYSuh--IaMfAkE
- OAuthキーを取得する:アプリケーションの登録
- 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 |
いいえ |
レスポンス
/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_infoとnotes_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(ブログが見つかりませんでした)を返します。