はてなブログAPI 覚え書き

はてなブログAPIを叩くシェルスクリプトを作ってみたので、そのとき調べたAPIについてのメモ書き。

ルートのURL

はてなブログAPIを利用するために実際やることは、ブログ固有のURLにHTTPリクエストを送るだけだ。

以下が1つのブログで使う共通のルートURL(以降、{RootURL}と表記)。

https://blog.hatena.ne.jp/{はてなID}/{ブログID}/atom

操作とHTTPリクエストの対応

操作 HTTPメソッド リクエストURL({RootURL}以降) 備考
サービス文書取得 GET {RootURL}
カテゴリ一覧取得 GET {RootURL}/category
記事一覧取得 GET {RootURL}/entry 最新の投稿10件取得
記事一覧取得 GET {RootURL}/entry?page={page_id} 10件ずつ取得。{page_id}省略時は、最新の投稿10件
記事の取得 GET {RootURL}/entry/{entry_id} 記事内容の改行文字は\r\nっぽい
記事の編集 PUT {RootURL}/entry/{entry_id} コンテンツはXML形式で送る
記事の削除 DELETE {RootURL}/entry/{entry_id}
記事の投稿 POST {RootURL}/entry コンテンツはXML形式で送る
  • {page_id}: 記事一覧のページ番号的なもの。単純に1とか2じゃないので注意
    • 次のページ番号を含む記事一覧のURLは、``にある。
    • これがAtomPubの仕様っぽい
  • {entry_id}: 記事ごとに用意されたID。どの記事を取得・操作するかを指定するのに使える

認証

はてなブログAPIを叩くには認証が必要になる。 ベーシック認証にも対応しているようで、cURL-uオプションが使える。

> curl -u {はてなID}:{APIキー}

参考