Blogger API: スタートガイド

このドキュメントでは、Blogger API の使用を開始する方法について説明します。

始める前に

Google アカウントを取得する

Google アカウントが設定済みであることを確認します。偶発的なデータ損失から身を守るために、開発とテストの目的で別の Google アカウントを使用することをおすすめします。テスト アカウントがすでにある場合は、すべて設定が完了します。Blogger のユーザー インターフェースにアクセスして、テストデータを設定、編集、表示できます。

Blogger を体験

Blogger のコンセプトになじみがない場合は、まずこのドキュメントを読んでから、コーディングを始める前にユーザー インターフェースをお試しください。このドキュメントは、読者が Blogger、ウェブ プログラミングのコンセプト、ウェブデータ形式に精通していることを前提としています。

リクエストの承認とアプリケーションの識別の詳細

アプリケーションが限定公開データをリクエストする場合、そのデータにアクセスできる認証済みユーザーによってリクエストが承認される必要があります。

アプリケーションが一般公開データをリクエストする場合、リクエストは承認される必要はありませんが、API キーなどの識別子を伴う必要があります。

リクエストを承認し、API キーを使用する方法については、API の使用に関するドキュメントのリクエストの承認とアプリケーションの識別をご覧ください。

Blogger API の背景

Blogger のコンセプト

Blogger は、次の 5 つの基本コンセプトに基づいて構築されています。

  • ブログ: API の基本概念。ブログには投稿とページがあります。ブログ名や説明などのブログのメタ情報を格納するコンテナです。
  • 投稿: ブログ投稿は、ブログ作成者が作成した公開可能なアイテムです。この情報は、著者が今すぐ世界に発表しようとしているものを反映した、タイムリーなものです。時間の経過とともに、ブログ投稿の経過時間が経過し、関連性が低下することがわかっています。
  • コメント: コメントは、ブログ投稿の作成者以外のユーザーが、投稿者が投稿したブログに反応する場所です。レンガから花束まで、あらゆるものが揃っています。
  • ページ: ページは、経歴やユーザーに対する連絡方法などの静的コンテンツを保存する場所です。これは一般に不定期の情報であり、頻繁には変更されません。
  • ユーザー: ユーザーとは、著者、管理者、あるいは閲覧者のみの Blogger ユーザーを指します。公開ブログでは、読者は匿名でもかまいませんが、非公開ブログでは、読者を Blogger で識別する必要があります。

Blogger API データモデル

リソースとは、一意の識別子を持つ個別のデータ エンティティです。Blogger JSON JSON は次の 5 種類のリソースで動作します。

  • ブログリソース: ブログを表します。
  • Posts リソース: 投稿を表します。各投稿リソースはブログリソースの子です。
  • コメント リソース: 特定の投稿に対するコメントを表します。各コメント リソースは投稿リソースの子です。
  • ページリソース: 静的ページを表します。各ページリソースは、ブログリソースの子です。
  • Users リソース: 匿名以外のユーザーを表します。これは、ページ、投稿、コメントの作成者を特定するために使用されます。
ブログリソースには、ページと投稿の 2 つの子リソースタイプがあります。
          投稿リソースには、コメント リソースの子を含めることができます。
リソース間の関係の概要

Blogger API データモデルは、コレクションと呼ばれるリソースのグループに基づいています。

ブログ コレクション
<span="apicollection">blogs コレクションは、ユーザーがアクセス権を持つすべてのブログで構成されます。ブログはユーザー別に一覧表示することも、ID でブログを 1 つ取得することもできます。</span="apicollection">
投稿のコレクション
投稿コレクションは、特定のブログリソース内のすべての投稿リソースで構成されます。
コメントの収集
コメント コレクションは、特定の投稿リソース内のすべてのコメント リソースで構成されます。
ページ コレクション
ページ コレクションは、特定のブログリソース内のすべてのページリソースで構成されます。
ユーザー コレクション
ユーザー コレクションは Blogger のすべてのユーザー リソースで構成されているため、一覧表示できません。ユーザーは、ID または識別子 self を使用して、自身のユーザー リソースを取得できます(他のユーザーは取得できません)。

Blogger API のオペレーション

Blogger API のコレクションとリソースでは、次の表で説明するようにさまざまなメソッドを呼び出すことができます。

オペレーション 説明 REST HTTP マッピング
list コレクション内のすべてのリソースを一覧表示します。 コレクション URI に対する GET
get 特定のリソースを取得します。 リソース URI に対する GET
getByUrl リソースを取得し、URL で検索します。 GET は、パラメータとして渡された URL で置き換えます。
getByPath パスを基準に検索することでリソースを取得します。 GET は、パスがパラメータとして渡されます。
listByUser ユーザーが所有するリソースを一覧表示します。 ユーザー所有のコレクションに対する GET
search クエリ パラメータに基づいてリソースを検索します。 検索 URL に対する GET(クエリがパラメータとして渡されます)。
挿入 コレクションにリソースを作成します。 コレクション URI に対する POST
delete リソースを削除します。 リソース URI に対する DELETE
パッチ パッチのセマンティクスを使用してリソースを更新します。 リソース URI に対する PATCH
update リソースを更新します。 リソース URI に対する PUT

次の表は、各リソースタイプでサポートされるメソッドを示しています。非公開ブログに対するすべての list 操作と get 操作では、認証が必要です。

リソースの種類
サポートされるメソッド
リスト 取得 getByUrl getByPath listByUser 検索 挿入 削除 patch 更新
ブログ なし あり あり なし あり いいえ なし なし なし なし
投稿 あり あり なし あり なし あり はい はい はい あり
コメント あり あり いいえ なし なし なし なし なし なし なし
ページ あり あり いいえ なし なし なし なし なし なし なし
ユーザー なし あり いいえ なし なし なし なし なし なし なし

呼び出しスタイル

API は次のいくつかの方法で呼び出すことができます。

REST

REST は、データをリクエストして変更するための便利で一貫したアプローチを提供するソフトウェア アーキテクチャのスタイルです。

REST という用語は「Representational State Transfer」の省略形です。Google API のコンテキストでは、HTTP 動詞を使用して、Google が保存しているデータ表現を取得および変更することを表しています。

RESTful システムでは、リソースはデータストアに保存されており、クライアントはサーバーが特定のアクション(リソースの作成、取得、更新、削除など)を実行するようにリクエストを送信します。サーバーはそのアクションを実行し、多くの場合、指定されたリソースの表現形式でレスポンスを送信します。

Google の RESTful API では、クライアントは POSTGETPUTDELETE などの HTTP 動詞を使用してアクションを指定します。グローバルに一意の URI でリソースを指定して、次の形式にします。

https://www.googleapis.com/apiName/apiVersion/resourcePath?parameters

すべての API リソースは HTTP でアクセス可能な一意の URI を持っているため、REST はデータ キャッシュを有効にし、ウェブの分散インフラストラクチャで動作するように最適化されています。

HTTP 1.1 標準のドキュメントのメソッド定義をご覧ください。GETPOSTPUTDELETE の仕様が記載されています。

Blogger API での REST

Blogger API のオペレーションで説明しているように、サポートされている Blogger オペレーションは、REST HTTP 動詞に直接マッピングされます。

Blogger API URI の特定の形式:

https://www.googleapis.com/blogger/v3/users/userId
https://www.googleapis.com/blogger/v3/users/self
https://www.googleapis.com/blogger/v3/users/userId/blogs
https://www.googleapis.com/blogger/v3/users/self/blogs
https://www.googleapis.com/blogger/v3/blogs/blogId
https://www.googleapis.com/blogger/v3/blogs/byurl
https://www.googleapis.com/blogger/v3/blogs/blogId/posts
https://www.googleapis.com/blogger/v3/blogs/blogId/posts/bypath
https://www.googleapis.com/blogger/v3/blogs/blogId/posts/search
https://www.googleapis.com/blogger/v3/blogs/blogId/posts/postId
https://www.googleapis.com/blogger/v3/blogs/blogId/posts/postId/comments
https://www.googleapis.com/blogger/v3/blogs/blogId/posts/postId/comments/commentId
https://www.googleapis.com/blogger/v3/blogs/blogId/pages
https://www.googleapis.com/blogger/v3/blogs/blogId/pages/pageId

使用される URI の詳細な説明と、API でサポートされている各オペレーションの結果は、Blogger API リファレンス ドキュメントにまとめられています。

認証済みのユーザーがアクセス権を持っているブログを一覧表示します。

GET https://www.googleapis.com/blogger/v3/users/self/blogs?key=YOUR-API-KEY

ブログ ID 3213900 の code.blogger.com の投稿を見る:

GET https://www.googleapis.com/blogger/v3/blogs/3213900?key=YOUR-API-KEY

JavaScript からの REST

Blogger API を JavaScript から呼び出すには、callback クエリ パラメータを使用し、コールバック関数を指定します。ブラウザがスクリプトを読み込むと、コールバック関数が実行され、コールバック関数にレスポンスが返されます。この方法により、サーバー側のコードを必要とせずに、Blogger データを表示するリッチ アプリケーションを作成できます。

次の例では、YOUR-API-KEY を API キーに置き換えてから、code.blogger.com ブログから投稿を取得します。

<html>
  <head>
    <title>Blogger API Example</title>
  </head>
  <body>
    <div id="content"></div>
    <script>
      function handleResponse(response) {
        document.getElementById("content").innerHTML += "<h1>" + response.title + "</h1>" + response.content;
      }
    </script>
    <script
    src="https://www.googleapis.com/blogger/v3/blogs/3213900/posts/8398240586497962757?callback=handleResponse&key=YOUR-API-KEY"></script>
  </body>
</html>

データ形式

JSON

JSON(JavaScript Object Notation)は言語に依存しない一般的なデータ フォーマットで、任意のデータ構造を単純なテキスト形式で表すことができます。詳しくは json.org をご覧ください。