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

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

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

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

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

目次

オーディエンス

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

このドキュメントは、Google Data APIs プロトコルの基本的な考え方を理解していることを前提としています。

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 には、次のクエリ パラメータが含まれます。

次へ
認証後にユーザーをリダイレクトするページの 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 アカウントを持つユーザーもアクセスできなくなります。
ソース
クライアント アプリケーションを識別します。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 チャレンジの発行と処理を任せる場合は、ユーザーを https://www.google.com/accounts/DisplayUnlockCaptcha?service=blogger にリダイレクトします(ClientLogin のドキュメントに記載されている CAPTCHA 処理 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 APIs プロトコル リファレンス ドキュメントまたは Atom 1.0 仕様をご覧ください。

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

投稿の作成

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 コンテンツ タイプを使用して、新しい POST リクエストの本文に Atom <entry> 要素を配置します。次に、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> 要素には、子として 1 つの <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> Namespace や <app:draft> Namespace など、Atom パブリッシング プロトコルの詳細については、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 を使用すると、指定した条件に一致するエントリセットをリクエストできます。たとえば、特定の日付範囲に公開または更新されたブログ投稿をリクエストできます。

たとえば、期間クエリを送信するには、published-min パラメータと published-max パラメータをリクエスト URL に追加します。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 など)。
published-min、published-max
エントリの公開日の範囲。
start-index
取得される最初の結果のインデックス(1 から始まる)(ページング用)。
updated-min、updated-max
エントリの更新日の上限と下限。これらのクエリ パラメータは、orderby パラメータが updated に設定されていない限り無視されます。

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

投稿の更新

既存のブログ投稿を更新するには、まず更新するエントリを取得して変更し、更新したエントリをメッセージ本文に含めて、投稿の編集 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 は、投稿を更新する際に使用した 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 形式を使用する方法について詳しくは、プロトコル リファレンス ガイドをご覧ください。

トップへ戻る