重要: このページの古いバージョンです。最新バージョンの場合は、左側のナビゲーション バーにあるリンクを使用してください。
このドキュメントでは、Blogger Data API の RAW プロトコル(XML と HTTP)の詳細なリファレンス ドキュメントを提供します。
このドキュメントには、プログラミング言語のクライアント ライブラリに関する情報は含まれていません。クライアント ライブラリのリファレンス情報については、デベロッパー ガイドのプログラミング言語固有のセクションにあるリンクをご覧ください。
目次
対象
このドキュメントは、Blogger を操作できるクライアント アプリケーションを作成するプログラマーを対象としています。
これはリファレンス ドキュメントであり、デベロッパー ガイドに示されているコンセプトと Google Data API プロトコルの一般的なコンセプトを理解していることを前提としています。
Blogger のフィードの種類
Blogger には、フィードにブログ コンテンツを 2 つ(全体フィードと概要フィード)表示する機能があります。完全なフィードにはブログ投稿全体が含まれるのに対し、概要フィードには各投稿の短いスニペットのみが含まれます。
ブログの所有者は、GUI 設定を使用して、ブログがシンジケーターとアグリゲータに完全なフィードを提供するか、概要フィードを提供するかを指定できます。
クライアント アプリがフィードの未認証のリクエストを送信すると、ブログのオーナーが指定した任意の種類のフィードを受信します。
ただし、クライアント アプリが認証済みリクエストを送信すると、ブログの所有者が指定した内容にかかわらず、常に完全なフィードを受信します。
Blogger のクエリ パラメータ リファレンス
Blogger Data API は、ほぼすべての標準 Google Data API クエリ パラメータをサポートしています。
Blogger では、q
(テキスト検索)と 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://purl.org/atom/app#'> ... <app:control> <app:draft>yes</app:draft> </app:control> </entry>
<draft>
要素が指定されていない場合、エントリはドラフトではありません。
公開日と更新日
標準の Atom <published>
要素で付与されるタイムスタンプは「投稿日」に対応します。ユーザーは Blogger GUI で設定できます。
クライアントが新しいエントリを作成するときに、クライアントが <published>
の値を指定しなかった場合、Blogger ではエントリの投稿日が現在のサーバー時刻に設定されます。クライアントがエントリを編集したものの、<published>
値を指定していない場合、Blogger ではエントリの投稿日はそのまま残ります。
ただし、エントリの作成または編集時にクライアントが <published>
要素の値を指定している場合、Blogger はエントリの投稿日を指定の値に設定します。これは、(元の作成日を維持したまま)別のブログ システムから古いエントリをインポートするといったタスクで役立ちます。
Blogger は、標準の Atom <updated>
要素を使用して、エントリが最後に変更された日時を示します。クライアントは <updated>
値を制御できません。Blogger は常に、クライアントがエントリを送信または編集するたびに、エントリの最終更新日時を現在のサーバー時刻に設定します。
標準の Google Data API の published-min
、published-max
、updated-min
、updated-max
クエリ パラメータを使用すると、<published>
または <updated>
の値に基づいてエントリをリクエストできます。ただし、更新日のクエリについては、Blogger クエリ パラメータのリファレンスをご覧ください。
投稿にコメントをリンクする
Blogger のエクスポート形式では、投稿とコメントの両方のエントリが 1 つの Atom フィード ドキュメントに含まれます。Blogger は、この 2 種類のエントリを区別するために <atom:category>
要素を利用します。この要素には、エントリが投稿用かコメント用かを表す term
パラメータが含まれます。
さらに、コメントエントリを所有する投稿エントリにそれをリンクさせるには、Atom Threading Extension を使用します。以下の例では、コメント エントリの <thr:in-reply-to>
要素は、ref
パラメータで投稿エントリ識別子を使用して投稿を指しています。また、href
パラメータを使用して、投稿の HTML URL にリンクすることもできます。
<feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/" 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 commment</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>