重要: これはこのページの古いバージョンです。最新バージョンでは、左側のナビゲーション バーのリンクを使用してください。
このドキュメントでは、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 フィード ドキュメントに格納されます。この 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/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>