重要: Google Data API v2.0 のサポートは 2024 年 9 月 30 日に終了します。機能を引き続き利用するには、v2.0 Google Data API を使用するアプリケーションを最新の API バージョンに更新してください。 最新バージョンを確認するには、左側のナビゲーション バーにあるリンクを使用してください。注: 一部の GET リクエスト(投稿の一覧表示など)は引き続きフィード URL としてサポートされますが、その動作に若干の違いがあります。詳細については、Blogger ヘルプのドキュメントをご覧ください。
このドキュメントでは、Blogger Data API の raw プロトコル(XML と HTTP)に関する詳細なリファレンス ドキュメントを提供します。
このドキュメントには、プログラミング言語のクライアント ライブラリに関する情報は含まれていません。クライアント ライブラリのリファレンス情報については、デベロッパー ガイドのプログラミング言語固有のセクションにあるリンクをご覧ください。
目次
対象読者
このドキュメントは、Blogger とやり取りするクライアント アプリケーションを作成するプログラマーを対象としています。
このリファレンス ドキュメントは、デベロッパー ガイドに記載されているコンセプトと、Google Data API プロトコルの背後にある一般的な考え方を理解していることを前提としています。
Blogger のフィードタイプ
Blogger のフィードは、完全フィードと概要フィードの 2 種類のフィードでブログ コンテンツを表します。全文フィードにはブログ投稿全体が含まれるのに対し、概要フィードには各投稿の短いスニペットのみが含まれます。
ブログの所有者は、GUI 設定を使用して、ブログがシンジケータやアグリゲータに完全なフィードを提供するのか、概要フィードを提供するのかを指定できます。
クライアント アプリは、フィードに対する未認証のリクエストを送信すると、ブログの所有者が指定したタイプのフィードを受信します。
ただし、クライアント アプリが認証済みのリクエストを送信すると、ブログの所有者が指定した内容に関係なく、常に完全なフィードを受信します。
Blogger のクエリ パラメータ リファレンス
Blogger Data API は、標準の Google Data API クエリ パラメータのほとんどすべてをサポートしています。
Blogger では author
パラメータをサポートしていません。
orderby
パラメータが updated
に設定されていない限り、updated-min
クエリ パラメータと updated-max
クエリ パラメータは無視されます。たとえば、次の URL は、2008 年 3 月 16 日から 2008 年 3 月 24 日に更新されたすべてのブログ投稿を取得します。
http://www.blogger.com/feeds/blogID/posts/default?updated-min=2008-03-16T00:00:00&updated-max=2008-03-24T23:59:59&orderby=updated
Blogger 要素のリファレンス
Blogger Data API は、標準の Atom 要素のみを使用します。詳細については、Atom 1.0 シンジケーション形式の仕様と Atom Publishing Protocol をご覧ください。
このセクションの残りの部分では、Blogger による一部の標準要素の使用について、具体的な注意事項をいくつか説明します。
下書きのエントリ
下書きのブログエントリは、Atom Publishing Protocol のドキュメントで定義された <app:draft>
拡張要素を使用してマークされます。下書きエントリの例を次に示します。
<entry xmlns:app='http://www.w3.org/2007/app'> ... <app:control> <app:draft>yes</app:draft> </app:control> </entry>
<draft>
要素が指定されていない場合、エントリはドラフトではありません。
公開日と更新日
Atom 標準の <published>
要素で指定されるタイムスタンプは、ユーザーが Blogger GUI で設定できる「投稿日」に対応しています。
クライアントが新しいエントリを作成するときに <published>
の値が指定されていない場合、Blogger では、エントリの送信日が現在のサーバー時刻に設定されます。クライアントがエントリを編集して <published>
値を指定しない場合、Blogger はそのエントリの投稿日をそのままにします。
ただし、エントリの作成時または編集時にクライアントが <published>
要素に値を指定した場合、エントリの投稿日は指定された値に設定されます。これは、(元の作成日を維持したまま)別のブログシステムから古いエントリをインポートするなどのタスクに役立ちます。
Blogger では、標準の Atom <updated>
要素を使用して、エントリが最後に変更された日時を示します。クライアントが <updated>
値を制御することはできません。クライアントがエントリを投稿したり編集したりするたびに、Blogger で常にエントリの最終更新日が現在のサーバー時刻に設定されます。
標準の Google Data API の published-min
、published-max
、updated-min
、updated-max
クエリ パラメータを使用すると、<published>
または <updated>
の値に基づいてエントリをリクエストできます。ただし、更新日のクエリに関する注意事項については、Blogger のクエリ パラメータ リファレンスをご覧ください。
コメントを投稿にリンクする
Blogger のエクスポート形式では、1 つの Atom フィード ドキュメントに投稿とコメントの両方のエントリが含まれています。この 2 種類のエントリを区別するために、Blogger では <atom:category>
要素を使用します。この要素には、エントリが投稿用かコメント用かを反映する term
パラメータが含まれます。
さらに、Atom Threading Extension を使用して、コメント エントリをそれが属する投稿エントリにリンクします。次の例では、コメント エントリの <thr:in-reply-to>
要素が、ref
パラメータで投稿エントリ ID を使用して投稿を指しています。また、href
パラメータで投稿の HTML URL にリンクします。
<feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:thr="http://purl.org/syndication/thread/1.0"> ... <-- A blog post entry --> <entry> <id>tag:blogger.com,1999:blog-blogID.post-postID</id> <content type="html">This is my first post</content> <link rel="alternate" type="text/html" href="http://blogName.blogspot.com/2007/04/first-post.html"> </link> <category scheme="http://schemas.google.com/g/2005#kind" term="http://schemas.google.com/blogger/2008/kind#post"/> ... </entry> <-- A comment to the blog post entry --> <entry> <id>tag:blogger.com,1999:blog-blogID.post-postID.comment-commentID</id> <content type="html">This is my first comment</content> <category scheme="http://schemas.google.com/g/2005#kind" term="http://schemas.google.com/blogger/2008/kind#comment"/> <thr:in-reply-to href="http://blogName.blogspot.com/2007/04/first-post.html" ref="tag:blogger.com,1999:blog-blogID.post-postID" type="text/html"/> ... </entry> </feed>