重要: JSON API v2.0 のサポートは 2024 年 9 月 30 日に終了します。機能を引き続き利用するには、v2.0 JSON API に依存するアプリケーションを最新の API バージョンに更新してください。最新バージョンを確認するには、左側のナビゲーション バーにあるリンクを使用してください。
このドキュメントでは、Blogger JSON API の使用を開始する方法について説明します。
目次
はじめに
このドキュメントは、Blogger JSON API とやり取りできるアプリケーションを作成するデベロッパーを対象としています。
Blogger JSON API は、Blogger Data API のバージョン 2.0 を拡張したものです。Blogger から XML ではなく JSON 形式でデータを取得する場合は、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 API は、次の 5 種類のリソースで動作します。
- Blogs リソース: ブログを表します。
- Posts リソース: 投稿を表します。各 Posts リソースは Blogs リソースの子です。
- コメント リソース: 特定の投稿に対するコメントを表します。各コメント リソースは投稿リソースの子です。
- Pages リソース: 静的ページを表します。各 Pages リソースは Blogs リソースの子です。
- Users リソース: 非匿名ユーザーを表します。ページ、投稿、コメントの作成者を特定するために使用されます。
Blogger JSON API データモデルは、コレクションと呼ばれるリソースのグループに基づいています。
- ブログ コレクション
- <span="apicollection">ブログ コレクションは、ユーザーがアクセス権を持つすべてのブログで構成されています。ブログはユーザー別に一覧表示することも、ID で 1 つのブログを取得することもできます。</span="apicollection">
- 投稿コレクション
- 投稿コレクションは、特定のブログリソース内のすべての投稿リソースで構成されています。
- コメント コレクション
- コメント コレクションは、特定の投稿リソース内のすべてのコメント リソースで構成されています。
- Pages コレクション
- ページ コレクションは、特定のブログリソース内のすべてのページリソースで構成されています。
- Users コレクション
- ユーザー コレクションは、Blogger のすべてのユーザー リソースで構成されているため、表示できません。ユーザーは、ID または識別子
self
を使用して、自身のユーザー リソースを取得できます(ただし、他のユーザーのリソースは取得できません)。
Blogger JSON API のオペレーション
次の表に示すように、Blogger JSON API ではコレクションとリソースに対して 2 つの異なるメソッドを呼び出すことができます。
オペレーション | 説明 | REST HTTP マッピング |
---|---|---|
list | コレクション内のすべてのリソースを一覧表示します。 | コレクション URI に対する GET 。 |
get | 特定のリソースを取得します。 | リソース URI に対する GET 。 |
次の表に、各リソースタイプでサポートされているメソッドを示します。限定公開ブログに対するすべての list および get オペレーションには認証が必要です。
リソースの種類 |
サポートされるメソッド |
|
---|---|---|
リスト | 入手 | |
ブログ | あり | あり |
投稿 | あり | あり |
コメント | あり | あり |
ページ | あり | あり |
ユーザー | × | あり |
通話スタイル
API を呼び出す方法はいくつかあります。
- REST を直接、または JavaScript から使用する(サーバー側のコードは不要)
- クライアント ライブラリを使用する。
REST
REST は、データをリクエストして変更するための便利で一貫したアプローチを提供するソフトウェア アーキテクチャのスタイルです。
REST という用語は「Representational State Transfer」の省略形です。Google API のコンテキストでは、HTTP 動詞を使用して、Google が保存しているデータ表現を取得および変更することを表しています。
RESTful システムでは、リソースはデータストアに保存されており、クライアントはサーバーが特定のアクション(リソースの作成、取得、更新、削除など)を実行するようにリクエストを送信します。サーバーはそのアクションを実行し、多くの場合、指定されたリソースの表現形式でレスポンスを送信します。
Google の RESTful API では、クライアントは POST
、GET
、PUT
、DELETE
などの HTTP 動詞を使用してアクションを指定します。次の形式のグローバルに一意な URI でリソースを指定します。
https://www.googleapis.com/apiName/apiVersion/resourcePath?parameters
すべての API リソースは HTTP でアクセス可能な一意の URI を持っているため、REST はデータ キャッシュを有効にし、ウェブの分散インフラストラクチャで動作するように最適化されています。
HTTP 1.1 標準のドキュメントのメソッド定義をご覧ください。GET
、POST
、PUT
、DELETE
の仕様が記載されています。
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
JavaScript から REST を使用して、callback
クエリ パラメータとコールバック関数を使用して、Blogger JSON API を呼び出すことができます。これにより、サーバーサイドのコードを記述することなく、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 をご覧ください。