Blogger JSON API: API の使用

重要: v2.0 JSON API のサポートは 2024 年 9 月 30 日に終了します。機能が継続するように、v2.0 JSON API に依存するアプリケーションを最新の API バージョンに更新してください。最新バージョンについては、左側のナビゲーション バーのリンクを使用してください。

このドキュメントでは、RESTful 呼び出しスタイルを使用して Blogger JSON API の一般的な機能を使用する方法について説明します。

目次

はじめに

このドキュメントは、Blogger JSON API とやり取りできるアプリケーションを作成するデベロッパーを対象としています。Blogger は、ユーザーが自分の考えを継続的に公開できるウェブサイトを作成するためのツールです。

Blogger のコンセプトに慣れていない場合は、コーディングを開始する前にスタートガイドをお読みください。

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

アプリケーションから Blogger JSON API に送信するすべてのリクエストでは、Google に対してアプリケーションを指定する必要があります。アプリケーションを識別する方法には、OAuth 2.0 トークンを使用する(リクエストの承認も行う)方法と、アプリケーションの API キーを使用する方法があります(この 2 つは併用できます)。これらのオプションのどちらを使用するかを決定する方法は次のとおりです。

  • リクエストに承認が必要である場合(個人の限定公開データについてのリクエストなど)、アプリケーションはリクエストとともに OAuth 2.0 トークンを提供する必要があります。アプリケーションが API キーも提供することがありますが、これは必須ではありません。
  • リクエストに承認が必要でない場合(一般公開データについてのリクエストなど)、アプリケーションは API キーまたは OAuth 2.0 トークンのいずれか、または両方を提供する必要があります。

認証プロトコルについて

リクエストを承認するために、アプリケーションは OAuth 2.0 を使用する必要があります。これ以外の認証プロトコルには対応していません。

: 現在、Blogger JSON API では、データアクセス リクエスト(ハイブリッド)または権限のドメイン全体の委任(2LO)と同時にログインすることはできません。

OAuth 2.0 を使ったリクエストの承認

非公開のユーザーデータに対する Blogger JSON API へのリクエストは、認証済みユーザーによって承認される必要があります。

OAuth 2.0 の承認プロセス(「フロー」)の詳細は開発するアプリケーションの種類によって若干異なりますが、次の一般的なプロセスはすべての種類のアプリケーションに当てはまります。

  1. アプリケーションを作成したら、Google に登録します。登録すると、後で必要になるクライアント ID やクライアント シークレットなどの情報が Google から提供されます。
  2. Google API Console の [サービス] ペインで Blogger JSON API を有効にします。(コンソールに表示されない場合は、この手順をスキップします)。
  3. アプリケーションでユーザーデータにアクセスする必要がある場合は、特定のアクセスのスコープを Google にリクエストします。
  4. データをリクエストするアプリケーションの承認を求める OAuth ダイアログがユーザーに表示されます。
  5. ユーザーが承認すると、有効期間の短いアクセス トークンがアプリケーションに付与されます。
  6. アプリケーションは、リクエストにそのアクセス トークンを付与してユーザーデータをリクエストします。
  7. Google がそのリクエストとトークンが有効であると判断すると、リクエストされたデータが返されます。

フローによっては、更新トークンを使用して新しいアクセス トークンを取得するなどの追加の手順が必要になる場合があります。さまざまな種類のアプリケーションのフローについて詳しくは、Google の OAuth 2.0 ドキュメントをご覧ください。

Blogger JSON API の OAuth 2.0 のスコープ情報は次のとおりです。

https://www.googleapis.com/auth/blogger

OAuth 2.0 を使用してアクセスをリクエストする場合、アプリケーションを登録したときに Google から提供された情報(クライアント ID やクライアント シークレットなど)に加えて、スコープ情報が必要になります。

ヒント: Google API クライアント ライブラリで一部の承認プロセスを処理することもできます。これらのライブラリはさまざまなプログラミング言語で用意されています。詳細については、ライブラリとサンプルのページをご覧ください。

API キーの取得と使用

一般公開データに対する Blogger JSON API へのリクエストには、識別子(API キーまたは認証トークン)が含まれている必要があります。

API キーを取得するには、API コンソールにアクセスします。[サービス] ペインで [api_name] を有効にします。利用規約が表示されたら、読んで同意します。

次に、[API アクセス] ペインに移動します。API キーは、そのペインの下部にある [Simple API Access] セクションにあります。

API キーを作成したら、アプリケーションですべてのリクエスト URL の末尾にクエリ パラメータ key=yourAPIKey を追加できます。

API キーは、安全に URL に埋め込むことができます。エンコーディングの必要はありません。

ブログの使用

ブログの取得

特定の Blogs リソースの情報を取得するには、ブログの URI に HTTP GET リクエストを送信します。ブログ リソースの URI の形式は次のとおりです。

https://www.googleapis.com/blogger/v2/blogs/blogId

リクエスト

以下に例を示します。

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

公開ブログを取得するためにユーザーを認証する必要がないため、この GET リクエストで Authorization HTTP ヘッダーを指定する必要はありません。ただし、このヘッダーを指定しない場合、API キーを指定する必要があります。

Blogger には限定公開のブログもあり、認証が必要です。

レスポンス

リクエストが成功すると、サーバーは HTTP 200 OK ステータス コードとブログデータを返します。

200 OK

{
  "kind": "blogger#blog",
  "id": "2399953",
  "name": "Blogger Buzz",
  "description": "The Official Buzz from Blogger at Google",
  "published": "2007-04-23T22:17:29.261Z",
  "updated": "2011-08-02T06:01:15.941Z",
  "url": "http://buzz.blogger.com/",
  "selfLink": "https://www.googleapis.com/blogger/v2/blogs/2399953",
  "posts": {
    "totalItems": 494,
    "selfLink": "https://www.googleapis.com/blogger/v2/blogs/2399953/posts"
  },
  "pages": {
    "totalItems": 2,
    "selfLink": "https://www.googleapis.com/blogger/v2/blogs/2399953/pages"
  },
  "locale": {
    "language": "en",
    "country": "",
    "variant": ""
  }
}

ユーザーのブログを取得する

ユーザーのブログのリストを取得するには、Blogs コレクション URI に HTTP GET リクエストを送信します。

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

リクエスト

ユーザーのブログを一覧表示する GET リクエストの例を次に示します。

GET https://www.googleapis.com/blogger/v2/users/self/blogs
Authorization: /* OAuth 2.0 token here */

: ユーザーは自分のブログを一覧表示するために認証されている必要があるため、GET リクエストに Authorization HTTP ヘッダーを指定する必要があります。

レスポンス

リクエストが成功すると、サーバーは HTTP 200 OK ステータス コードと、ユーザーのブログのリストの完全な表現を返します。

200 OK

{
  "kind": "blogger#blogList",
  "items": [
    {
      "kind": "blogger#blog",
      "id": "4967929378133675647",
      "name": "Brett's Test Blawg",
      "description": "",
      "published": "2010-10-06T23:33:31.662Z",
      "updated": "2011-08-08T06:50:02.005Z",
      "url": "http://brettmorgan-test-blawg.blogspot.com/",
      "selfLink": "https://www.googleapis.com/blogger/v2/blogs/4967929378133675647",
      "posts": {
        "totalItems": 13,
        "selfLink": "https://www.googleapis.com/blogger/v2/blogs/4967929378133675647/posts"
      },
      "pages": {
        "totalItems": 1,
        "selfLink": "https://www.googleapis.com/blogger/v2/blogs/4967929378133675647/pages"
      },
      "locale": {
        "language": "en",
        "country": "",
        "variant": ""
      }
    }
  ]
}

投稿の操作

ブログから投稿を取得する

特定のブログの投稿のリストを取得するには、Posts コレクション URI に GET リクエストを送信します。投稿コレクションの URI の形式は次のとおりです。

https://www.googleapis.com/blogger/v2/blogs/blogId/posts

リクエスト

以下に例を示します。

GET https://www.googleapis.com/blogger/v2/blogs/2399953/posts&key=YOUR-API-KEY

公開ブログから投稿を取得するためにユーザーを認証する必要がないため、この GET リクエストで Authorization HTTP ヘッダーを指定する必要はありません。ただし、このヘッダーを指定しない場合、API キーを指定する必要があります。

Blogger には限定公開のブログもあり、認証が必要です。

レスポンス

リクエストが成功すると、サーバーは HTTP 200 OK ステータス コードと投稿のリストを返します。

200 OK

{
  "kind": "blogger#postList",
  "nextPageToken": "CgkIChiAkceVjiYQ0b2SAQ",
  "prevPageToken": "CgkIChDBwrK3mCYQ0b2SAQ",
  "items": [
    {
      "kind": "blogger#post",
      "id": "7706273476706534553",
      "blog": {
        "id": "2399953"
      },
      "published": "2011-08-01T19:58:00.000Z",
      "updated": "2011-08-01T19:58:51.947Z",
      "url": "http://buzz.blogger.com/2011/08/latest-updates-august-1st.html",
      "selfLink": "https://www.googleapis.com/blogger/v2/blogs/2399953/posts/7706273476706534553",
      "title": "Latest updates, August 1st",
      "content": "elided for readability",
      "author": {
        "id": "401465483996",
        "displayName": "Brett Wiltshire",
        "url": "http://www.blogger.com/profile/01430672582309320414",
        "image": {
          "url": "http://4.bp.blogspot.com/_YA50adQ-7vQ/S1gfR_6ufpI/AAAAAAAAAAk/1ErJGgRWZDg/S45/brett.png"
         }
      },
      "replies": {
        "totalItems": "0",
        "selfLink": "https://www.googleapis.com/blogger/v2/blogs/2399953/posts/7706273476706534553/comments"
      }
    },
    {
      "kind": "blogger#post",
      "id": "6069922188027612413",
      elided for readability
    }
  ]
}

特定の投稿の取得

ブログから特定の投稿を取得するには、Posts リソース URI に GET リクエストを送信します。投稿リソースの URI の形式は次のとおりです。

https://www.googleapis.com/blogger/v2/blogs/blogId/posts/postId

リクエスト

以下に例を示します。

GET https://www.googleapis.com/blogger/v2/blogs/2399953/posts/7706273476706534553&key=YOUR-API-KEY

公開ブログから投稿を取得するためにユーザーを認証する必要がないため、この GET リクエストで Authorization HTTP ヘッダーを指定する必要はありません。ただし、このヘッダーを指定しない場合、API キーを指定する必要があります。

Blogger には限定公開のブログもあり、認証が必要です。

レスポンス

リクエストが成功すると、サーバーは HTTP 200 OK ステータス コードと Post の内容を返します。

200 OK

{
  "kind": "blogger#post",
  "id": "7706273476706534553",
  "blog": {
    "id": "2399953"
  },
  "published": "2011-08-01T19:58:00.000Z",
  "updated": "2011-08-01T19:58:51.947Z",
  "url": "http://buzz.blogger.com/2011/08/latest-updates-august-1st.html",
  "selfLink": "https://www.googleapis.com/blogger/v2/blogs/2399953/posts/7706273476706534553",
  "title": "Latest updates, August 1st",
  "content": "elided for readability",
  "author": {
    "id": "401465483996",
    "displayName": "Brett Wiltshire",
    "url": "http://www.blogger.com/profile/01430672582309320414",
    "image": {
      "url": "http://4.bp.blogspot.com/_YA50adQ-7vQ/S1gfR_6ufpI/AAAAAAAAAAk/1ErJGgRWZDg/S45/brett.png"
    }
  },
  "replies": {
    "totalItems": "0",
    "selfLink": "https://www.googleapis.com/blogger/v2/blogs/2399953/posts/7706273476706534553/comments"
  }
}

コメントの操作

投稿のコメントを取得する

投稿のコメントのリストを取得するには、Comments Collection URI に GET リクエストを送信します。コメント コレクションの URI の形式は次のとおりです。

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

リクエスト

以下に例を示します。

GET https://www.googleapis.com/blogger/v2/blogs/2399953/posts/6069922188027612413/comments&key=YOUR-API-KEY

公開ブログからコメントを取得するためにユーザーを認証する必要がないため、この GET リクエストで Authorization HTTP ヘッダーを指定する必要はありません。ただし、このヘッダーを指定しない場合、API キーを指定する必要があります。

Blogger には限定公開のブログもあり、認証が必要です。

レスポンス

リクエストが成功すると、サーバーは HTTP 200 OK ステータス コードとコメントのリストを返します。

200 OK

{
  "kind": "blogger#commentList",
  "nextPageToken": "CgkIFBDwjvDXlyYQ0b2SARj9mZe9n8KsnlQ",
  "prevPageToken": "CgkIFBisvMGRlyYQ0b2SARj9mZe9n8KsnlQ",
  "items": [
    {
       "kind": "blogger#comment",
       "id": "9200761938824362519",
       "post": {
         "id": "6069922188027612413"
       },
       "blog": {
         "id": "2399953"
       },
       "published": "2011-07-28T19:19:57.740Z",
       "updated": "2011-07-28T21:29:42.015Z",
       "selfLink": "https://www.googleapis.com/blogger/v2/blogs/2399953/posts/6069922188027612413/comments/9200761938824362519",
       "content": "elided",
       "author": {
         "id": "530579030283",
         "displayName": "elided",
         "url": "elided",
         "image": {
           "url": "elided"
         }
       }
    },
    {
      "kind": "blogger#comment",
      "id": "400101178920857170",
      elided for readability
    }
  ]
}

特定のコメントの取得

投稿から特定のコメントを取得するには、Comments リソース URI に GET リクエストを送信します。コメント リソースの URI の形式は次のとおりです。

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

リクエスト

以下に例を示します。

GET https://www.googleapis.com/blogger/v2/blogs/2399953/posts/6069922188027612413/comments/9200761938824362519&key=YOUR-API-KEY

公開ブログからコメントを取得するためにユーザーを認証する必要がないため、この GET リクエストで Authorization HTTP ヘッダーを指定する必要はありません。ただし、このヘッダーを指定しない場合、API キーを指定する必要があります。

Blogger には限定公開のブログもあり、認証が必要です。

レスポンス

リクエストが成功すると、サーバーは HTTP 200 OK ステータス コードとコメントデータを返します。

200 OK

{
  "kind": "blogger#comment",
  "id": "9200761938824362519",
  "post": {
    "id": "6069922188027612413"
  },
  "blog": {
    "id": "2399953"
  },
  "published": "2011-07-28T19:19:57.740Z",
  "updated": "2011-07-28T21:29:42.015Z",
  "selfLink": "https://www.googleapis.com/blogger/v2/blogs/2399953/posts/6069922188027612413/comments/9200761938824362519",
  "content": "elided",
  "author": {
    "id": "530579030283",
    "displayName": "elided",
    "url": "elided",
    "image": {
      "url": "elided"
    }
  }
}

ページの操作

ブログのページを取得する

ブログのページのリストを取得するには、ページ コレクション URI に GET リクエストを送信します。ページ コレクションの URI の形式は次のとおりです。

https://www.googleapis.com/blogger/v2/blogs/blogId/pages

リクエスト

以下に例を示します。

GET https://www.googleapis.com/blogger/v2/blogs/4967929378133675647/pages&key=YOUR-API-KEY

公開ブログからページを取得するためにユーザーを認証する必要がないため、この GET リクエストで Authorization HTTP ヘッダーを指定する必要はありません。ただし、このヘッダーを指定しない場合、API キーを指定する必要があります。

Blogger には限定公開のブログもあり、認証が必要です。

レスポンス

リクエストが成功すると、サーバーは HTTP 200 OK ステータス コードとページのリストで応答します。

200 OK

{
  "kind": "blogger#pageList",
  "items": [
    {
      "kind": "blogger#page",
      "id": "273541696466681878",
      "blog": {
        "id": "4967929378133675647"
      },
      "published": "2011-07-14T16:16:00.000Z",
      "updated": "2011-07-14T16:16:23.602Z",
      "url": "http://brettmorgan-test-blawg.blogspot.com/p/static-content.html",
      "selfLink": "https://www.googleapis.com/blogger/v2/blogs/4967929378133675647/pages/273541696466681878",
      "title": "Static Content",
      "content": "elided for readability",
      "author": {
        "id": "901569848744",
        "displayName": "brett",
        "url": "http://www.blogger.com/profile/16258312240222542576",
        "image": {
          "url": "https://resources.blogblog.com/img/b16-rounded.gif"
        }
      }
    }
  ]
}

特定のページの取得

ブログから特定のページを取得するには、ページ リソース URI に GET リクエストを送信します。ページ リソースの URI の形式は次のとおりです。

https://www.googleapis.com/blogger/v2/blogs/blogId/pages/pageId

リクエスト

以下に例を示します。

GET https://www.googleapis.com/blogger/v2/blogs/4967929378133675647/pages/273541696466681878&key=YOUR-API-KEY

公開ブログからページを取得するためにユーザーを認証する必要がないため、この GET リクエストで Authorization HTTP ヘッダーを指定する必要はありません。ただし、このヘッダーを指定しない場合、API キーを指定する必要があります。

Blogger には限定公開のブログもあり、認証が必要です。

レスポンス

リクエストが成功すると、サーバーは HTTP 200 OK ステータス コードとページデータを返します。

200 OK

{
  "kind": "blogger#page",
  "id": "273541696466681878",
  "blog": {
    "id": "4967929378133675647"
  },
  "published": "2011-07-14T16:16:00.000Z",
  "updated": "2011-07-14T16:16:23.602Z",
  "url": "http://brettmorgan-test-blawg.blogspot.com/p/static-content.html",
  "selfLink": "https://www.googleapis.com/blogger/v2/blogs/4967929378133675647/pages/273541696466681878",
  "title": "Static Content",
  "content": "elided for readability",
  "author": {
    "id": "901569848744",
    "displayName": "brett",
    "url": "http://www.blogger.com/profile/16258312240222542576",
    "image": {
      "url": "https://resources.blogblog.com/img/b16-rounded.gif"
    }
  }
}

ユーザーとの連携

ユーザーの取得

ユーザーの情報を取得するには、Users リソース URI に HTTP GET リクエストを送信します。

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

リクエスト

ユーザーのブログを一覧表示する GET リクエストの例を次に示します。

GET https://www.googleapis.com/blogger/v2/users/self
Authorization: /* OAuth 2.0 token here */

: ユーザーは自分の情報を一覧表示するために認証を受ける必要があるため、GET リクエストに Authorization HTTP ヘッダーを指定する必要があります。

レスポンス

リクエストが成功すると、サーバーは HTTP 200 OK ステータス コードと、ユーザーのブログのリストへのリンクを返します。

200 OK

{
  "kind": "blogger#user",
  "id": "901569848744",
  "selfLink": "https://www.googleapis.com/blogger/v2/users/901569848744",
  "blogs": {
    "selfLink": "https://www.googleapis.com/blogger/v2/users/901569848744/blogs"
  }
}

標準のクエリ パラメータ

以下のクエリ パラメータは、Blogger API のすべてのメソッドとリソースで使用できます。

すべての Blogger API オペレーションに適用されるクエリ パラメータについては、システム パラメータをご覧ください。