デベロッパー ガイド: JavaScript

Blogger Data API を使用すると、クライアント アプリケーションで Blogger の閲覧と更新を行うことができます Google Data API フィードの形式で作成します。

クライアント アプリケーションで Blogger Data API を使用して新しいブログを作成できます 投稿、既存のブログ投稿の編集または削除、一致するブログ投稿の検索 特定の基準に沿うこともできます

このドキュメントでは、Blogger Data API の機能に関する背景情報に加えて、JavaScript クライアント ライブラリを使用した基本的な Data API 操作の例も説明します。ライブラリが使用する基盤となるプロトコルの詳細については、このデベロッパー ガイドのプロトコル セクションをご覧ください。

目次

オーディエンス

このドキュメントは、JavaScript クライアントを記述するプログラマーを対象としています。 Blogger と連携可能なアプリケーションこのコースでは、一連の例と Data API の基本的なインタラクションを、JavaScript クライアント ライブラリを使って説明します。

Blogger Data API のリファレンス情報については、プロトコルのリファレンス ガイドをご覧ください。このドキュメント Google Data API の背後にある一般的な考え方を理解していることを前提としています。 プロトコルおよび JavaScript クライアントで使用されるデータモデルと制御フロー ライブラリ。また、JavaScript でプログラミングできることも前提としています。

クライアント ライブラリで提供されるクラスとメソッドのリファレンス情報については、JavaScript クライアント ライブラリ API リファレンスをご覧ください。

このドキュメントは順番に読むように設計されています。各例は前の例を基にしています。

利用規約

Google JavaScript に従い、 クライアント ライブラリの利用規約をご覧ください。

サポートされている環境について

現在、サポートされているのは、ブラウザのウェブページで実行される JavaScript クライアント アプリケーションのみです。現在サポートされているブラウザは、Firefox 1.5 以降と Internet Explorer 6.0 以降です。

JavaScript クライアント ライブラリは、サービスのクライアント あります。経験豊富な JS デベロッパーは、「同一オリジン ポリシーはどうなるの?」と疑問に思うかもしれません。JavaScript クライアント ライブラリを使用すると、ブラウザのセキュリティ モデルに準拠しながら、任意のドメインから Google Data API リクエストを送信できます。

スタートガイド

JavaScript クライアント アプリケーションを記述する前に、ライブラリを取得するための設定を行う必要があります。

Blogger アカウントを作成する

よろしければ Blogger アカウントを使用します。Blogger は Google アカウントを使用しているため、すでに Google アカウントをお持ちの場合は、すぐにご利用いただけます。

ライブラリの取得

クライアントがクライアント ライブラリを使用するには、事前に クライアント ライブラリ コードをサーバーから受け取ります。

まず、<script> タグを Google AJAX を取得する HTML ドキュメントの <head> セクション API ローダ:

<script type="text/javascript" src="https://www.google.com/jsapi"></script>

ローダの取得後に Google Data API クライアント ライブラリを取得するには、JavaScript 設定コードで次の行を使用します。このコードは、HTML ドキュメントの <head> セクションから呼び出す必要があります(または、HTML ドキュメントの <head> セクションに <script> タグを使用して含まれている JavaScript ファイルから呼び出す必要があります)。

google.load("gdata", "1.x");

google.load() の 2 番目のパラメータはリクエストされたバージョンです クライアント ライブラリの番号です。Google のバージョン番号体系 は、Google Maps API で使用されるものをもとにモデル化されています。考えられるバージョン番号とその意味は次のとおりです。

"1"
メジャー バージョン 1 の最後から 2 番目のリビジョン。
"1.x"
メジャー バージョン 1 の最新リビジョンです。
"1.s"
メジャー バージョン 1 の最新の安定版リビジョン。Google では、クライアント ライブラリの特定のバージョンを「安定版」と宣言することがあります。をベースとしています。ただし、このバージョンには最新の機能が含まれていない場合があります。
"1.0""1.1" など
メジャー リビジョン番号とマイナー リビジョン番号が指定された、ライブラリの特定のバージョン。

google.load() を呼び出した後、ページの読み込みが完了するまで待ってからコードを呼び出すようにローダに指示する必要があります。

google.setOnLoadCallback(getMyBlogFeed);

ここで、getMyBlogFeed() は後で定義する関数です。 セクションをご覧ください。<body> 要素に onload ハンドラを接続する代わりに、このアプローチを使用します。

Blogger サービスへの認証

Blogger Data API を使用すると、公開フィードと非公開フィードの両方にアクセスできます。 公開フィードは認証を必要としませんが、読み取り専用です。もし 変更する場合は、リクエストする前にクライアントが認証を受ける必要があります。 非公開フィードです。

JavaScript クライアント ライブラリでは AuthSub 認証システムが使用されます。Google Data API での認証の詳細については、認証のドキュメントをご覧ください。

AuthSub プロキシ認証

AuthSub プロキシ認証は、Google アカウントのユーザーを認証する必要があるウェブ アプリケーションで使用されます。ウェブサイト運営者とクライアント コードが Blogger ユーザーのユーザー名とパスワードにアクセスできない。 代わりに、クライアントは特別な AuthSub トークンを取得し、 許可することもできます。

ここでは、Google Chat の認証プロセス中に行われる処理の概要を説明します。 ウェブベースの JavaScript クライアントです。

  1. クライアント アプリケーションは、クライアント ライブラリから提供される google.accounts.user.login() メソッドを呼び出し、使用する Google サービスを示す「スコープ」値を渡します。Blogger の場合、スコープは "http://www.blogger.com/feeds/" です。
  2. クライアント ライブラリがブラウザを Google の「アクセス リクエスト」ユーザーがログインするための認証情報を入力できるページです。 提供します。
  3. ユーザーが正常にログインすると、AuthSub システムはブラウザをウェブ クライアントの URL に戻し、認証トークンを渡します。
  4. JavaScript クライアント ライブラリは、トークンを Cookie に保存し、google.accounts.user.login() を呼び出したクライアント アプリケーションの関数に制御を返します。
  5. その後、クライアント アプリケーションがクライアント ライブラリの クライアント ライブラリは自動的にトークンを あります。

: JavaScript クライアント ライブラリで 認証済みの Blogger リクエストをウェブブラウザで実行する場合は、ページに画像が含まれている必要があります。 ページと同じドメインでホストされているものが 表示されますどんな画像でもかまいません ページ上には画像が必要です。ページに画像を表示しない場合は、<img> タグの style 属性を使用して、レンダリング領域の外に画像を配置できます。例: style="position:absolute; top: -1000px;"

ログインを処理するクライアント アプリケーションのコードは次のとおりです。setupMyService() 関数は後で他のコードから呼び出します。

function logMeIn() {
  scope = "http://www.blogger.com/feeds/";
  var token = google.accounts.user.login(scope);
}

function setupMyService() {
  var myService =
    new google.gdata.blogger.BloggerService('exampleCo-exampleApp-1');
  logMeIn();
  return myService;
}

ヒント: ログインボタンなどのユーザー入力メカニズムを使用して、ユーザーにログインの開始を求める 手動で行う必要はありません。一方、ユーザー操作を待たずに読み込み直後に google.accounts.user.login() を呼び出すと、ユーザーがページにアクセスしたときに最初に表示されるのは Google ログイン ページになります。ユーザーがログインしないことを選択した場合、Google はユーザーをページに戻しません。そのため、ユーザーの視点では、ページにアクセスしようとしたところ、別のページにリダイレクトされ、元のページに戻されなかったと判断されます。このシナリオでは、ユーザーが混乱し、不満を感じる可能性があります。このドキュメントのコードサンプルでは、サンプルをシンプルにするために、読み込み直後に google.accounts.user.login() を呼び出していますが、実際のクライアント アプリケーションではこのアプローチはおすすめしません。

token という名前の変数を操作する必要はありません。クライアント ライブラリがトークンを追跡するためです。

: 新しい BloggerService を作成した場合 クライアント ライブラリは、 google.gdata.client.init(): ブラウザがブラウザの サポートされています。エラーが発生した場合は、クライアント ライブラリが ユーザーにエラー メッセージが表示されます。このようなエラーを自分で処理する場合は、サービスを作成する前に google.gdata.client.init(handleInitError) を明示的に呼び出します。ここで、handleInitError() は関数です。terraform plan または terraform apply で 発生すると、関数は標準の Error オブジェクトを受け取ります。何でもできます 渡します。

トークンは、google.accounts.user.logout() を呼び出して取り消すまで有効です。

function logMeOut() {
  google.accounts.user.logout();
}

logout() を呼び出さなかった場合、 トークンは、ユーザーが削除しない限り 2 年間有効です。Cookie はブラウザ セッション間で保持されるため、ユーザーはブラウザを閉じてから再度開き、クライアントに戻ってもログインしたままになります。

ただし、セッション中にトークンが無効になる場合もあります。Blogger がトークンを拒否した場合、クライアントはエラー状態を処理するために、logout() を呼び出して現在のトークンを含む Cookie を削除し、login() を再度呼び出して新しい有効なトークンを取得する必要があります。

さまざまな API 環境で便利な AuthSub メソッドが他にも 2 つあります。 contexts:

  • google.accounts.user.checkLogin(scope) は、 ブラウザに現在、指定された認証トークンがありません。 あります。
  • google.accounts.user.getInfo() は、詳細情報を提供します。 現在のトークンに関する情報を出力し、デバッグに使用できます。

JavaScript を使用して AuthSub を操作する方法の詳細(トークン管理、checkLogin()getInfo() に関する情報など)については、JavaScript クライアント ライブラリで「AuthSub」認証を使用するをご覧ください。

トップへ戻る