Blogger JSON API: スタートガイド

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

目次

はじめに

このドキュメントは、Blogger の JSON API とやり取りできるアプリケーションを作成するデベロッパーを対象としています。

Blogger JSON API は、Blogger Data API のバージョン 2.0 を拡張したものです。XML ではなく JSON 形式で Blogger からデータを取得するには、Blogger JSON API を使用します。XML 形式でデータを取得する場合は、Blogger Data API を使用します。

このバージョンの Blogger JSON API は現在読み取り専用ですが、読み取り/書き込み機能やその他の機能を追加する予定です。その他の機能については、Blogger ヘルプ フォーラムをご利用ください。

始める前に

Google アカウントを取得する

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

Blogger を体験

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

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

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

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

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

Blogger JSON API の背景

Blogger のコンセプト

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

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

Blogger JSON API データモデル

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

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

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

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

Blogger JSON API のオペレーション

次の表に示すように、Blogger の JSON API のコレクションとリソースに対して 2 つの異なるメソッドを呼び出すことができます。

オペレーション 説明 REST HTTP マッピング
list コレクション内のすべてのリソースを一覧表示します。 コレクション URI に対する GET
get 特定のリソースを取得します。 リソース URI に対する GET

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

リソースの種類
サポートされるメソッド
リスト 取得
ブログ あり あり
投稿 あり あり
コメント あり あり
ページ あり あり
ユーザー なし あり

呼び出しスタイル

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 JSON API での REST

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

Blogger の JSON API URI の特定の形式:

https://www.googleapis.com/blogger/v2/users/userId
https://www.googleapis.com/blogger/v2/users/self
https://www.googleapis.com/blogger/v2/users/userId/blogs
https://www.googleapis.com/blogger/v2/users/self/blogs

https://www.googleapis.com/blogger/v2/blogs/blogId/posts
https://www.googleapis.com/blogger/v2/blogs/blogId/posts/postId
https://www.googleapis.com/blogger/v2/blogs/blogId/posts/postId/comments
https://www.googleapis.com/blogger/v2/blogs/blogId/posts/postId/comments/commentId
https://www.googleapis.com/blogger/v2/blogs/blogId/pages
https://www.googleapis.com/blogger/v2/blogs/blogId/pages/pageId

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

Blogger JSON API での動作の例を次に示します。

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

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

ブログ投稿(code.blogger.com のブログ ID 3213900)を取得します。

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

JavaScript からの REST

Blogger の JSON API は、callback クエリ パラメータとコールバック関数を使用して、JavaScript から REST で呼び出すことができます。これにより、サーバー側のコードを記述することなく、Blogger のデータを表示するリッチなアプリケーションを作成できます。

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

<html>
  <head>
    <title>Blogger JSON 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/v2/blogs/3213900/posts/8398240586497962757?callback=handleResponse&key=YOUR-API-KEY"></script>
  </body>
</html>

データ形式

JSON

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