デベロッパー ガイド: プロトコル

重要: これはこのページの古いバージョンです。最新バージョンでは、左側のナビゲーション バーのリンクを使用してください。

Blogger Data API を使用すると、クライアント アプリケーションで Google Data API フィードの形式で Blogger のコンテンツを表示、更新できます。

クライアント アプリケーションで Blogger Data API を使用すると、新しいブログ投稿の作成、既存のブログ投稿の編集または削除、特定の条件に一致するブログ投稿の検索を行うことができます。

このドキュメントでは、Blogger Data API の機能に関する背景情報に加え、未加工の XML と HTTP を使用した Data API の基本的な操作例も紹介します。このドキュメントを読んだ後、このデベロッパー ガイドのプログラミング言語固有のセクションを読み、クライアント ライブラリを使用して API を操作する方法について確認することをおすすめします。

目次

対象読者

このドキュメントは、XML と HTTP を使用して Blogger を操作するクライアント アプリケーションを作成するプログラマーを対象としています。

このドキュメントは、Google Data API プロトコルの背後にある一般的な概念を理解していることを前提としています。

UNIX システムを使用していて、コードを記述せずにこのドキュメントの例を試す場合は、UNIX コマンドライン ユーティリティ curl または wget が便利です。詳細については、これらのユーティリティのマニュアル ページをご覧ください。

Blogger Data API のリファレンス情報については、プロトコルのリファレンス ガイドをご覧ください。

ご利用にあたって

Blogger アカウントを作成する

テスト目的で Blogger アカウントに登録することもできます。Blogger では Google アカウントを使用するので、Google アカウントをすでにお持ちであれば問題ありません。

Blogger サービスの認証

Blogger Data API を使用すると、公開フィードと非公開フィードの両方にアクセスできます。 公開フィードは認証を必要としませんが、読み取り専用です。ブログを変更する場合は、非公開フィードをリクエストする前にクライアントが認証を受ける必要があります。認証には、AuthSub プロキシ認証または ClientLogin ユーザー名/パスワード認証のいずれかの方法を使用できます。

Google Data API での認証に関する一般的な情報については、認証のドキュメントをご覧ください。

このドキュメントの以降のセクションのサンプルのほとんどでは、適切な認証を提供していることを前提としています。

AuthSub プロキシ認証

AuthSub プロキシ認証は、Google アカウントに対してユーザーを認証する必要があるウェブ アプリケーションで使用されます。ウェブサイト運用者とクライアント コードは、Blogger ユーザーのユーザー名とパスワードにアクセスできません。代わりに、クライアントは、クライアントが特定のユーザーに代わって動作できるようにする特別な AuthSub トークンを取得します。詳しくは、AuthSub のドキュメントをご覧ください。

ユーザーが初めてアプリケーションにアクセスしたときは、まだ認証されていません。この場合、ブログへのアクセス リクエストを認証するために、ユーザーを Google ページに誘導する情報とリンクを表示する必要があります。

AuthSubRequest URL には、以下のクエリ パラメータが含まれます。

次へ
認証後に Google がユーザーをリダイレクトするページの URL。
スコープ
アプリケーションが Blogger フィードにアクセスするためのトークンをリクエストしていることを示します。使用するスコープ文字列は http://www.blogger.com/feeds/ です(もちろん URL エンコードされています)。
安全
クライアントがセキュア トークンをリクエストしているかどうかを示します。
セッション
返されたトークンを複数回使用(セッション)トークンと交換できるかどうかを示します。

AuthSubRequest URL は次のようになります。

https://www.google.com/accounts/AuthSubRequest?scope=http%3A%2F%2Fwww.blogger.com%2Ffeeds%2F&session=1&secure=0&next=http%3A%2F%2Fwww.example.com%2Fwelcome.html

ユーザーは Google のサイトへのリンクに従って、Google アカウントで認証を行います。

ユーザーが認証されると、AuthSub システムは AuthSubRequest URL の next クエリ パラメータで指定した URL にユーザーをリダイレクトします。AuthSub システムは、token クエリ パラメータの値として、その URL に認証トークンを追加します。次に例を示します。

http://www.example.com/welcome.html?token=yourAuthToken

このトークン値は、1 回限りの AuthSub トークンを表します。この例では、session=1 が指定されているため、Authorization ヘッダーで 1 回限りのトークンを使用して AuthSubSessionToken サービスを呼び出すことで、このトークンを AuthSub セッション トークンと交換できます。

GET /accounts/AuthSubSessionToken HTTP/1.1
Content-Type: application/x-www-form-urlencoded
Authorization: AuthSub token="yourAuthToken"
User-Agent: Java/1.5.0_06
Host: www.google.com
Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2
Connection: keep-alive

AuthSubSessionToken サービスのレスポンスには、セッション トークンを含む Token ヘッダーと、トークンの有効期間を示す Expiration ヘッダーが含まれます。

これにより、アプリケーションはセッション トークンの値を、その後の Blogger の操作の Authorization ヘッダーで使用できます。

次に、保護されていないトークンを含む HTTP リクエストを作成し、Blogger に送信する例を示します。

GET /feeds/blogID/blogs/posts/defaults HTTP/1.1
Content-Type: application/x-www-form-urlencoded
Authorization: AuthSub token="yourSessionToken"
User-Agent: Java/1.5.0_06
Host: www.blogger.com
Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2
Connection: keep-alive

ClientLogin ユーザー名/パスワード認証

クライアントがスタンドアロンのシングル ユーザーの「インストール」クライアント(デスクトップ アプリケーションなど)の場合は、ClientLogin 認証を使用します。ClientLogin メカニズムを使用して認証トークンをリクエストするには、次の URL に POST リクエストを送信します。

https://www.google.com/accounts/ClientLogin

POST 本文には、application/x-www-form-urlencoded コンテンツ タイプを使用して、HTML フォームで渡されるパラメータに似た一連のクエリ パラメータを含める必要があります。これらのパラメータは次のとおりです。

メール
ユーザーのメールアドレス。
Passwd
ユーザーのパスワード。
サービス
Blogger のサービス名は blogger です。(その他のサービス名については、サービス名のリストをご覧ください)。
accountType
Blogger API を使用する場合は、常に GOOGLE に設定する必要があります。このパラメータを設定しないと、同じ G Suite アカウントを持つユーザーはアクセスできません。
source
クライアント アプリケーションを識別します。companyName-applicationName-versionID の形式にする必要があります。この例では、exampleCo-exampleApp-1 という名前を使用しています。

パラメータの詳細については、インストール済みアプリケーションの認証のドキュメントをご覧ください。

認証リクエストが失敗した場合、サーバーは HTTP 403 Forbidden ステータス コードを返します。

成功すると、サーバーは HTTP 200 OK ステータス コードと、3 つの長い英数字コード(SID、LSID、Auth)をレスポンスの本文に返します。Auth の値は、以降の各リクエストで Blogger に送信する認証トークンであるため、その値のコピーを保存しておいてください。SID と LSID の値は無視できます。

非公開フィードへのすべてのリクエストには認証が必要なため、それ以降の Blogger の操作には必ず Authorization ヘッダーを次の形式で設定する必要があります。

Authorization: GoogleLogin auth=yourAuthToken

ここで、yourAuthToken は、ClientLogin リクエストによって返される Auth 文字列です。

リクエストとレスポンスのサンプルなど、ClientLogin 認証の詳細については、インストール済みアプリケーションの認証のドキュメントをご覧ください。

: 特定のセッションのすべてのリクエストに同じトークンを使用します。Blogger のリクエストごとに新しいトークンを取得しないでください。

: ClientLogin のドキュメントに記載されているように、認証リクエストが失敗し、CAPTCHA チャレンジがリクエストされることがあります。Google に CAPTCHA チャレンジの発行と処理を任せる場合は、ユーザーを(ClientLogin のドキュメントに記載されている CAPTCHA 処理 URL ではなく)https://www.google.com/accounts/DisplayUnlockCaptcha?service=blogger に送信します。

ブログのリストの取得

Blogger Data API には、特定のユーザーのブログを一覧表示するフィードがあります。このフィードは「メタフィード」と呼ばれます。

HTTP GET を次の URL に送信して、ブログのリストを取得します。

http://www.blogger.com/feeds/userID/blogs

: ユーザー ID の代わりに default を使用することもできます。その場合は、リクエストに認証情報が付属しているユーザーのブログのリストが返されます。

メタフィードのエントリは次のようになります。

<entry>
  <id>tag:blogger.com,1999:blog-blogID.post-postID</id>
  <published>2006-08-02T18:44:43.089-07:00</published>
  <updated>2006-11-08T18:10:23.020-08:00</updated>
  <title type='text'>Lizzy's Diary</title>
  <summary type='html'>Being the journal of Elizabeth Bennet</summary>
  <link rel='alternate' type='text/html'
    href='http://blogName.blogspot.com/'>
  </link>
  <link rel='http://schemas.google.com/g/2005#feed'
    type='application/atom+xml'
    href='http://blogName.blogspot.com/feeds/posts/default'>
  </link>
  <link rel='http://schemas.google.com/g/2005#post'
    type='application/atom+xml'
    href='http://www.blogger.com/feeds/blogID/posts/default'>
  </link>
  <link rel='self' type='application/atom+xml'
    href='http://www.blogger.com/feeds/userID/blogs/blogID'>
  </link>
  <link rel='edit' type='application/atom+xml'
      href='http://www.blogger.com/feeds/userID/blogs/blogID'>
  </link>
  <author>
    <name>Elizabeth Bennet</name>
    <email>noreply@blogger.com</email>
    <uri>http://www.blogger.com/profile/profileID</uri>
  </author>
</entry>

各要素の意味については、Google Data API プロトコル リファレンスのドキュメントまたは Atom 1.0 仕様をご覧ください。

なんらかの理由でリクエストが失敗した場合、Blogger から別のステータス コードが返されることがあります。HTTP ステータス コードの詳細については、Google Data API プロトコル リファレンスのドキュメントをご覧ください。

投稿の作成

Blogger Data API を使用すると、新しいブログエントリを作成、公開したり、エントリの下書きを作成したりすることができます。

ブログ投稿を公開する

認証が完了したら、新しいブログエントリを公開できます。

まず、公開する投稿の XML 表現を作成します。この XML は、次のような Atom <entry> 要素の形式にする必要があります。

<entry xmlns='http://www.w3.org/2005/Atom'>
  <title type='text'>Marriage!</title>
  <content type='xhtml'>
    <div xmlns="http://www.w3.org/1999/xhtml">
      <p>Mr. Darcy has <em>proposed marriage</em> to me!</p>
      <p>He is the last man on earth I would ever desire to marry.</p>
      <p>Whatever shall I do?</p>
    </div>
  </content>
  <category scheme="http://www.blogger.com/atom/ns#" term="marriage" />
  <category scheme="http://www.blogger.com/atom/ns#" term="Mr. Darcy" />
</entry>

: 現在のところ、投稿にカスタムの作成者を設定することはできません。新しい投稿はすべて、現在認証されているユーザーによって作成されたかのように表示されます。

このエントリを公開するには、次のようにブログの投稿 URL に送信します。まず、application/atom+xml コンテンツ タイプを使用して、Atom の <entry> 要素を新しい POST リクエストの本文に配置します。次に、メタフィード内で rel 属性が #post で終わる <link> 要素を見つけて、ブログ投稿の URL を見つけます。ブログ投稿の URL は、この要素の href 属性として次の形式で指定します。

http://www.blogger.com/feeds/blogID/posts/default

: この URL は、人が読める形式のブログの <head> セクションに表示される <link rel="service.post"> タグ内の URL と同じです。

Blogger では、送信されたエントリを使用してブログ投稿を作成し、HTTP 201 CREATED ステータス コードと <entry> 要素の形式で新しい投稿のコピーを返します。返されるエントリは送信したエントリと同じですが、Blogger によって追加されたさまざまな要素(<id> 要素など)も含まれています。

なんらかの理由でリクエストが失敗した場合、Blogger から別のステータス コードが返されることがあります。ステータス コードの詳細については、Google Data API プロトコルのリファレンス ドキュメントをご覧ください。

ブログ投稿の下書きを作成する

下書きの投稿は一般公開の投稿と同じ方法で作成されますが、投稿を(まだ)公開してはならないことを示す <app:control> 要素がエントリに追加されます。

この <app:control> 要素には、子として単一の <app:draft> 要素を含める必要があります。

<app:control xmlns:app='http://purl.org/atom/app#'>
  <app:draft>yes</app:draft>
</app:control>

投稿が下書きとして認識されるようにするには、<app:draft> 要素に含まれるデータが文字列 yes である必要があります。

既存のブログ投稿の下書きを公開済みの投稿にするには、投稿の下書きを取得し、<app:draft> 要素のデータを文字列 no に設定してから投稿を更新します。投稿の取得と更新については 次の 2 つのセクションで説明します

: <app:control> 名前空間と <app:draft> 名前空間など、Atom Publishing Protocol の詳細については、RFC 5023 をご覧ください。

投稿を取得する

以降のセクションでは、クエリ パラメータを使用する場合と使用しない場合で、ブログ投稿のリストを取得する方法について説明します。

認証なしで Blogger の公開フィードにクエリを実行できます。したがって、公開ブログからブログ投稿を取得する場合は、Authorization パラメータを設定する必要はありません。

すべてのブログ投稿を取得しています

ユーザーの投稿を取得するには、HTTP GET リクエストをブログのフィード URL に送信します。すると、適切なブログエントリを含むフィードが返されます。たとえば、liz@gmail.com のブログ投稿のリストを取得するには、次の HTTP リクエストを Blogger に送信します(blogID の代わりに適切な値を指定します)。

GET http://www.blogger.com/feeds/blogID/posts/default

すると、Blogger から HTTP 200 OK ステータス コードと、ブログ投稿を含む標準の Atom 1.0 フィードが返されます。

投稿が 1 件しかないブログのフィードの例を次に示します。人間が読みやすくなるように、このサンプルは少し編集されています。特に、実際の Blogger フィードには実際の ID と URL が含まれます。

<feed xmlns='http://www.w3.org/2005/Atom'>
  <id>tag:blogger.com,1999:blog-blogID</id>
  <updated>2006-11-08T18:10:23.020-08:00</updated>
  <title type='text'>Lizzy's Diary</title>
  <link rel='alternate' type='text/html'
    href='http://blogName.blogspot.com/index.html'>
  </link>
  <link rel='http://schemas.google.com/g/2005#feed'
    type='application/atom+xml'
    href='http://blogName.blogspot.com/feeds/posts/default'>
  </link>
  <link rel='self' type='application/atom+xml'
    href='http://blogName.blogspot.com/feeds/posts/default'>
  </link>
  <author>
    <name>Elizabeth Bennet</name>
    <email>noreply@blogger.com</email>
    <uri>http://www.blogger.com/profile/profileID</uri>
  </author>
  <generator version='7.00' uri='http://www2.blogger.com'>Blogger</generator>
  <entry>
    <id>tag:blogger.com,1999:blog-blogID.post-postID</id>
    <published>2006-11-08T18:10:00.000-08:00</published>
    <updated>2006-11-08T18:10:14.954-08:00</updated>
    <title type='text'>Quite disagreeable</title>
    <content type='html'>&lt;p&gt;I met Mr. Bingley's friend Mr. Darcy
      this evening. I found him quite disagreeable.&lt;/p&gt;</content>
    <link rel='alternate' type='text/html'
      href='http://blogName.blogspot.com/2006/11/quite-disagreeable.html'>
    </link>
    <link rel='self' type='application/atom+xml'
      href='http://blogName.blogspot.com/feeds/posts/default/postID'>
    </link>
    <link rel='edit' type='application/atom+xml'
      href='http://www.blogger.com/feeds/blogID/posts/default/postID'>
    </link>
    <author>
      <name>Elizabeth Bennet</name>
      <email>noreply@blogger.com</email>
      <uri>http://www.blogger.com/profile/profileID</uri>
    </author>
  </entry>
</feed>

クエリ パラメータを使用して投稿を取得する

Blogger Data API では、特定の期間に公開または更新されたブログ投稿など、指定した条件に一致する一連のエントリをリクエストできます。

たとえば、期間のクエリを送信するには、リクエスト URL に published-min パラメータと published-max パラメータを追加します。2008 年 3 月 16 日から 2008 年 3 月 24 日までに作成されたブログのすべてのエントリを取得するには、次のように HTTP リクエストをブログのフィード URL に送信します。

GET http://www.blogger.com/feeds/blogID/posts/default?published-min=2008-03-16T00:00:00&published-max=2008-03-24T23:59:59

この GET リクエストを送信すると、Blogger から HTTP 200 OK ステータス コードと、指定した期間に作成されたブログ投稿を含むフィードが返されます。

updated-min パラメータと updated-max パラメータを使用して、指定された範囲内で更新されたすべてのブログエントリを取得することもできます。ただし、orderby パラメータも updated に設定されていない限り、これらのパラメータは無視されます。

Blogger Data API では、次のクエリ パラメータがサポートされています。

alt
atom(デフォルト)や rss など、返されるフィードのタイプ。
/category
カテゴリ(ラベル)を指定して、フィード結果をフィルタします。たとえば、http://www.blogger.com/feeds/blogID/posts/default/-/Fritz/Laurie は、FritzLaurie の両方のラベルを持つエントリを返します。
max-results
返されるエントリの最大数。
orderby
lastmodified(デフォルト)、starttimeupdated など、エントリを返す順序。
publish-min、Published-max
エントリの公開日の境界。
start-index
ページングのために最初に取得する結果の 1 から始まるインデックス。
update-min、updated-max
エントリ更新日の境界。orderby パラメータが updated に設定されていない限り、これらのクエリ パラメータは無視されます。

クエリ パラメータの詳細については、Blogger Data API リファレンス ガイドGoogle Data API リファレンス ガイドをご覧ください。

投稿を更新しています

既存のブログ投稿を更新するには、まず更新するエントリを取得してから変更します。次に、更新したエントリをメッセージ本文に含めて、投稿の編集 URL に PUT リクエストを送信します。PUT するエントリの <id> 値が既存のエントリの <id> と完全に一致するようにしてください。

編集 URL は次のエントリでハイライト表示されています。

<entry>
  <id>tag:blogger.com,1999:blog-blogID.post-postID</id>
  <published>2006-11-08T18:10:00.000-08:00</published>
  <updated>2006-11-08T18:10:14.954-08:00</updated>
  <title type='text'>Quite disagreeable</title>
  <content type='html'>&lt;p&gt;I met Mr. Bingley's friend Mr. Darcy
    this evening. I found him quite disagreeable.&lt;/p&gt;</content>
  <link rel='alternate' type='text/html'
    href='http://blogName.blogspot.com/2006/11/quite-disagreeable.html'>
  </link>
  <link rel='self' type='application/atom+xml'
    href='http://blogName.blogspot.com/feeds/posts/default/postID'>
  </link>
  <link rel='edit' type='application/atom+xml'
    href='http://www.blogger.com/feeds/blogID/posts/default/postID'>
  </link>
  <category scheme="http://www.blogger.com/atom/ns#" term="Mr. Bingley" />
  <category scheme="http://www.blogger.com/atom/ns#" term="Mr. Darcy" />
  <author>
    <name>Elizabeth Bennet</name>
    <email>noreply@blogger.com</email>
    <uri>http://www.blogger.com/profile/profileID</uri>
  </author>
</entry>

重要: 上位互換性を確保するため、更新したエントリを PUT するときは、Blogger からエントリを取得したときに存在していた XML をすべて保持してください。そうしないと、Google が新しい要素を実装してフィードに <new-awesome-feature> 要素を追加しても、クライアントから要素が返されず、ユーザーが見逃すことになります。Google Data API クライアント ライブラリはすべてこれを正しく処理するため、いずれかのライブラリを使用すれば準備は完了です。

: 現在のところ、投稿に関連付けられている作成者データの変更はサポートされていません。

トラブルシューティングのヒント: 一部のファイアウォールは HTTP PUT メッセージをブロックします。これを回避するには、POST リクエストに X-HTTP-Method-Override: PUT ヘッダーを含めます。詳細については、Google Data API プロトコルの基本のドキュメントをご覧ください。

投稿を削除しています

投稿を削除するには、投稿の編集 URL に DELETE リクエストを送信します。これは、投稿を更新するときに使用する URL と同じです。

トラブルシューティングのヒント: 一部のファイアウォールは HTTP DELETE メッセージをブロックします。これを回避するには、POST リクエストに X-HTTP-Method-Override: DELETE ヘッダーを含めます。詳細については、Google Data API プロトコルの基本のドキュメントをご覧ください。

コメント

Blogger Data API を使用すると、コメントの作成、取得、削除ができます。 コメントの更新はサポートされていません(ウェブ インターフェースでは利用できません)。

コメントの作成

コメントを投稿するには、次のような Atom の <entry> 要素を作成します。

  <entry xmlns='http://www.w3.org/2005/Atom'>
    <title type="text">This is my first comment</title>
    <content type="html">This is my first comment</content>
  </entry>

このコメントを公開するには、application/atom+xml コンテンツ タイプを使用して、新しい POST リクエストの本文に Atom の <entry> 要素を配置します。次に、適切な Blogger の URL に POST リクエストを送信します。

POST http://www.blogger.com/feeds/blogID/postID/comments/default

: 現在、コメントを投稿できるのは、認証されたユーザーが所有するブログのみです。

: 現在のところ、コメントにカスタムの作成者を設定することはできません。すべての新しいコメントは、現在認証されているユーザーによって作成されたかのように表示されます。

コメントの取得

特定の投稿のコメントを取得するには、この投稿のコメント フィードの URL に GET を送信します。

GET http://www.blogger.com/feeds/blogID/postID/comments/default

または、ブログのコメント フィードの URL を使用して、すべての投稿のコメントを取得できます。

GET http://www.blogger.com/feeds/blogID/comments/default

これらのリクエストからは、次のようなコメント フィードが返されます。

<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">
  <id>tag:blogger.com,1999:blog-blogID.post-postID.comment-commentID</id>
  <updated>2007-04-04T21:56:29.803-07:00</updated>
  <title type="text">My Blog : Time to relax</title>
  <link rel="alternate" type="text/html" href="http://blogName.blogspot.com/2007/04/first-post.html"/>
  <link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://blogName.blogspot.com/feeds/postID/comments/default"/>
  <link rel="self" type="application/atom+xml" href="http://blogName.blogspot.com/feeds/postID/comments/default"/>
  <author>
    <name>Blog Author name</name>
  </author>
  <generator version="7.00" uri="http://www2.blogger.com">Blogger</generator>
  <openSearch:totalResults>1</openSearch:totalResults>
  <openSearch:startIndex>1</openSearch:startIndex>
  <entry>
    <id>tag:blogger.com,1999:blog-blogID.post-commentID</id>
    <published>2007-04-04T21:56:00.000-07:00</published>
    <updated>2007-04-04T21:56:29.803-07:00</updated>
    <title type="text">This is my first comment</title>
    <content type="html">This is my first comment</content>
    <link rel="alternate" type="text/html" href="http://blogName.blogspot.com/2007/04/first-post.html#commentID"/>
    <link rel="self" type="application/atom+xml" href="http://blogName.blogspot.com/feeds/postID/comments/default/commentID"/>
    <link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/blogID/postID/comments/default/commentID"/>
    <thr:in-reply-to href="http://blogName.blogspot.com/2007/04/first-post.html" 
                     ref="tag:blogger.com,1999:blog-blogID.post-postID" 
                     source="http://www.blogger.com/feeds/posts/default/blogID"
                     type="text/html"/>
    <author>
      <name>Blog Author name</name>
      <email>blog_author@gmail.com</email>
      <uri>http://www.blogger.com/profile/userID</uri>
    </author>
    <thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' 
         href='http://blogName.blogspot.com/2007/04/first-post.html' 
         ref='tag:blogger.com,1999:blog-blogID.post-postID' 
         source='http://blogName.blogspot.com/feeds/posts/default/postID'
         type='text/html' />
  </entry>
</feed>

コメントの削除

コメントを削除するには、コメントの編集 URL に DELETE リクエストを送信します。この URL は、上のコメント フィードでハイライト表示されています。

エクスポート形式

Blogger では、Blogger のエクスポート ファイルを使用して、ブログをエクスポートおよびインポートできます。このエクスポート ファイルには、1 つのブログのすべての投稿とコメントが含まれます。エクスポート ファイルの形式は、投稿とコメントの取得に関するセクションで説明されている Atom 形式とまったく同じです。このエクスポート ファイルには、投稿フィードの内容とコメント フィードのコンテンツが 1 つのドキュメントに結合されたものが含まれます。

エクスポート形式を使用してブログデータをエクスポートまたはインポートするには、ブログの [設定] ページにアクセスします。Data API を使用してブログのエクスポート ファイルを取得するには、次の URL を使用します。

GET http://www.blogger.com/feeds/blogID/archive

エクスポート ファイルをインポートするには、次の URL への POST リクエストを作成します。リクエスト データとしてエクスポート ファイルの内容を、コンテンツ タイプとして application/atom+xml を指定します。

POST http://www.blogger.com/feeds/blogID/archive/full

上記の URL はいずれもクエリ パラメータをサポートしていません。どちらのリクエストにも認証情報が含まれている必要があります。これらのフィード URL を使用してブログをインポート/エクスポートできるのは、ブログ管理者のみです。

: 独自の Blogger エクスポート ファイルを作成する場合、投稿とコメントのエントリの順序に現在 1 つの制限があります。Blogger のエクスポート ファイルでは、最初にすべての投稿が、次にすべてのコメントがリストされます。投稿とコメントのエントリをインターリーブするのは、そのコメント エントリが対象の投稿の後にある場合に限ります。

Blogger でエクスポート ファイルに Atom 形式がどのように使用されるかについて詳しくは、プロトコル リファレンス ガイドをご覧ください。

トップへ戻る