SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

オール・ザット・Googleテクノロジーズ

これだけ押さえておけばあらゆるAPIを呼び出せる! Google APIを使用するための基本

オール・ザット・Googleテクノロジーズ 第1回


  • X ポスト
  • このエントリーをはてなブックマークに追加

Google APIを使用したアプリケーションの動作

 Google APIを使用するアプリケーションを作成するための準備が整いました。いよいよアプリケーションを実装する方法を説明していきます。

 サンプルアプリケーションのソースコードはJavaで記述しました。こちらのGistから取得できます。本文中では説明対象のコード部分しか示しませんので、Gistからサンプルコードを取得するなどしてご覧ください。

 今回作成するアプリケーションは、次のように2段階で動作します。

  1. Authorization Codeを取得するためのURLを表示する
  2. Authorization Codeとの交換でアクセストークンを取得する

1. Authorization Codeを取得するためのURLを表示する

 ターミナルやコマンドプロンプトでサンプルコードをコンパイルし、実行すると次のように表示されます。なお、コンパイルの前に、サンプルコードの11行目にあるCLIENT_IDと、13行目にあるCLIENT_SECRETの値は、先ほどメモしたClient IDClient Secretにそれぞれ書き換えておきます。

サンプルアプリケーションをコンパイルし、実行したところ
サンプルアプリケーションをコンパイルし、実行したところ

 サンプルコードはUTF-8で記述されているため、文字エンコーディングを指定してコンパイルしています(①)。

 実行すると、最初にAuthorization Codeを取得するためのURLが表示されます(②)。Authorization Codeは、リソースの持ち主にアクセス許可をもらったことを示すコードです。

 Authorization Codeを取得するためのURLは、標準エラー出力に出力されます。次のように実行して標準エラー出力だけをファイルに書き出すと、URLをブラウザに貼り付けやすくなります。
java GoogleApiClient 2> URL.txt

 このURLをブラウザで開くと、「リソースの持ち主にアクセス許可をもらう」ための画面が表示されます。メールのカテゴリを取得するGmailアカウントを選択し(③)、アクセス許可を承認すると(④)、最後にAuthorization Codeが表示されます(⑤)。

メールのカテゴリを取得するGmailアカウントを選択する
メールのカテゴリを取得するGmailアカウントを選択する

 

許可を与えることの確認
許可を与えることの確認

 

Authorization Codeが表示された
Authorization Codeが表示された

 

2. Authorization Codeとの交換でアクセストークンを取得する

 コマンドプロンプトに戻ってAuthorization Codeを入力すると(⑥)、選択したGmailアカウントのカテゴリなどが表示されます(⑦)。

選択したGmailアカウントのカテゴリなどが表示された
選択したGmailアカウントのカテゴリなどが表示された

 このときアプリケーションでは、入力されたAuthorization Codeと交換する形で、リソースへアクセスするために必要なアクセストークンを取得し、Gmail APIを呼び出しています。

 ここまでのアプリケーションの動作をまとめると、次の図のようになります。

アクセス許可のフロー図(出典:Google Accounts Authentication and Authorization)
アクセス許可のフロー図(出典:Google Accounts Authentication and Authorization

次のページ
サンプルアプリケーションのコード解説

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
オール・ザット・Googleテクノロジーズ連載記事一覧
この記事の著者

小川 信一(オガワシンイチ)

株式会社トップゲート CTO & Google API Expert。日本で唯一、Google API Expertのダブルアカウント保持者である。Google App Engineの専門書を2冊出版。日本最大のApp EngineコミュニティーでGoogle App Engineの普及活動を行い、...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/7977 2014/08/29 15:29

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング