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

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

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

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

このドキュメントでは、Blogger Data API の機能の背景だけでなく、XML や HTTP の XML を使用した基本的な 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 を使用すると、公開フィードと限定公開フィードの両方にアクセスできます。 公開フィードは認証は不要ですが、読み取り専用です。ブログを変更する場合は、クライアントが限定公開フィードをリクエストする前に認証を行う必要があります。この API は、AuthSub プロキシ認証または RLSA ユーザー名 / パスワード認証のいずれかによって認証できます。

Google Data API を使用した認証全般については、認証のドキュメントをご覧ください。

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

AuthSub プロキシ認証

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

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

AuthSubRequest URL には次のクエリ パラメータが含まれています。

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

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 システムは、その URL に token クエリ パラメータの値として認証トークンを追加します。例:

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 ヘッダーでセッション トークン値を使用できます。

以下は、Blogger に送信する可能性のある、保護されていないトークンを含む HTTP リクエストの例です。

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 ユーザー名/パスワード認証

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

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

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

メール
ユーザーのメールアドレス。
Passwd
ユーザーのパスワード。
service
Blogger のサービス名は blogger です。(その他のサービス名については、サービス名のリストをご覧ください)。
口座の種類
Blogger API を使用する場合は、必ず GOOGLE に設定します。このパラメータを設定しないと、G Suite アカウントも持っているユーザーがアクセスできなくなります。
ソース
クライアント アプリケーションを識別します。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 は SafeFrame リクエストによって返される Auth 文字列です。

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

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

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

ブログのリストの取得

Blogger Data API は、特定のユーザー向けにブログを公開するためのフィードを提供しています。このフィードは「メタフィード」と呼ばれています。

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

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

: ユーザー ID に default を代用することもできます。これにより、Blogger に対して、リクエストに認証情報が関連付けられているユーザーのブログのリストを返すよう指示できます。

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

<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> 要素の形式で返します。返されるエントリは送信したエントリと同じですが、<id> 要素など、Blogger によって追加されたさまざまな要素も含まれています。

なんらかの理由でリクエストが失敗した場合、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 パラメータを設定する必要はありません。

すべてのブログ投稿の取得

ユーザーの投稿を取得するには、ブログのフィード URL に HTTP GET リクエストを送信します。Blogger は、適切なブログエントリを含むフィードを返します。たとえば、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 日までの間に作成されたすべてのブログエントリを取得するには、ブログのフィード URL に HTTP リクエストを送信します。

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 ベースのインデックス。
updated-min、update-max
エントリ更新日の境界。orderby パラメータが updated に設定されていない限り、これらのクエリ パラメータは無視されます。

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

投稿の更新

既存のブログ投稿を更新するには、まず更新するエントリを取得して変更し、更新後のエントリとメッセージ本文の PUT リクエストを投稿の編集 URL に送信します。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 をすべて保持してください。それ以外の場合、新しいものを実装してフィードに <new-awesome-feature> 要素を追加すると、クライアントはそれらの要素を返さなくなり、ユーザーはそれらを見逃します。Google Data API クライアント ライブラリでは、すべてのライブラリが適切にこの処理を行うため、ライブラリのいずれか 1 つを使用する場合は、すべての設定が完了しています。

: 現在、投稿に関連付けられた著者データの変更はサポートされていません。

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

投稿の削除

投稿を削除するには、DELETE リクエストを投稿の編集 URL に送信します。 この URL は投稿の更新に使用する 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 コンテンツ タイプを使用して Atom の <entry> 要素を新しい POST リクエストの本文に含めます。次に、POST リクエストを適切な Blogger の URL に送信します。

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 エクスポート ファイルを作成する場合、現時点では、投稿とコメントのエントリの順序に関する制限があります。Blogger のエクスポート ファイルには、すべての投稿が最初に一覧表示され、次にすべてのコメントが表示されます。投稿とコメント エントリは、そのコメントが関係する投稿の後に配置されていれば、インターリーブ可能です。

Blogger におけるエクスポート ファイルの Atom 形式の使用方法について詳しくは、プロトコルのリファレンス ガイドをご覧ください。

トップへ戻る