Analog Studio

Google API の基本的な利用方法と認証方法の種類について

概要

Google が提供しているサービスを自分のサイトに組み込んで活用したいことは多いと思います。
良く使うサービスでいえば地図 (Google Maps) の埋め込みなどがあります。

地図の埋込なら地図上から共有用の <iframe> コードを取得でき簡単に埋め込めますが、この <iframe> の src 属性に設定する URL を住所から自動生成したいといった場合には API の力を借りる必要があります。
その他にも非常に多彩な処理が可能になる API が使えるようにしてくれているのでぜひ使っていきたいですよね。

そこで、Google API を使う基本的な使用方法をまとめたいと思います。

必要なもの

API を使用する際に必要になるものは Google アカウントがあれば多くの場合は大丈夫です。

Googleアカウント

Google のサービスを利用しますので当然、アカウントが必要となります。
このアカウントは個人向けの Gmail アカウントでもいいですし、G Suite アカウントでもいいです。

クレジットカード情報(有料機能を利用する場合のみ)

Google API では有料機能も提供されています。
Google Maps API だと地図画像の生成やルート検索機能などが有料となります。
これらの有料機能を使用する場合はたとえ無料利用枠内での利用であってもクレジットカード情報を登録する必要があります。
※ Maps API の場合は $200/月 までは無料です。超過分が従量課金されます。

API利用の流れ

API を利用するまでの流れは大まかに以下の通りです。
そんなに難しくはないのでサクッと設定しましょう。

Googleアカウントの作成

まずは、Google アカウントを作成しましょう。
アカウントを持っていない場合や今あるアカウント以外で API 管理用のアカウントが必要なら作成します。

良く分からない方は、G Suite は有料なので無料で始められる Gmail カウントを作成しましょう。
まずは Gmail にアクセスしてアカウントを作成します。
https://mail.google.com/

すでにログイン中の場合は右上の自分のアイコンをクリックするとアカウント変更や追加ができます。
ここから「別のアカウントを追加」をクリックしてアカウントを作成できます。

ログイン中の場合は右上の自分のアイコンをクリックして「別のアカウントを追加」

ログイン画面が現れたら左下の「アカウントを作成」をクリックすると "自分用" と "ビジネスの管理用" が選べるので無料で作りたい方は「自分用」を選択します。
ビジネス用は G Suite 用になります。

ログイン画面が現れるので左下の「アカウントを作成」から「自分用」を選択します

好きなメールアドレスになるように入力してアカウントを作成します。

取得したい Gmail アカウントを入力して作成します

Google Cloud Platform の利用開始

利用開始といっても特に審査や申請があるわけでもないくワンクリックです。
Google Cloud Platform のページから利用開始するだけです。
https://cloud.google.com/?hl=ja

「無料で開始」ボタンをクリックすると利用開始できます

Google Cloud Platform では、API 以外にも AWS (Amazon Web Services) のように色々なことができます。
私はまだ API しか使っていませんが面白そうですよね。
今回使うのは左メニュー内にある「API とサービス」というサービスのみです。

Google Cloud Platform のホーム画面

「API とサービス」を選択するとものすごく簡潔な管理画面が現れます。
API を利用する準備をする場所がここになります。
https://console.cloud.google.com/projectselector2/apis/dashboard

API の管理画面

APIの認証方法の種類

さて、これで API を使うための前準備が終わりました。簡単ですね。
API へのアクセス方法の前に API を使うための認証方法について説明します。

APIキーによる認証

最も単純な認証は API キーをリクエストに含めることで認証する方法です。
冒頭で出てきた Google Maps の住所から <iframe> の埋込 URL を作成する際などの簡単なリクエストで利用されます。

Maps Embed API は以下のページにある通り、API キーを利用して非常にシンプルにアクセス可能です。
https://developers.google.com/maps/documentation/embed/get-started?hl=ja

ただし、こういった単純なリクエストでは API キーが丸見えで他の人に利用されると困るので先ほどの管理画面でアクセス元のオリジン (ドメインなど) を設定したり、アクセス回数の制限を行います。

API キーの生成は非常に簡単で管理画面から API キーの生成を行うだけで完了します。
キー作成して呼出元と利用する API を設定すれば使用できます。(1分あれば使えます)

OAuth2.0のユーザ許可による認証

WordPress などで Google Analytics と連携させたりユーザの情報にアクセスしたい場合は、ユーザの許可を得る画面を表示してユーザから同意を得てデータにアクセスする方法が使われます。
以下のようなデータ使用許可の画面を見たことがある方も居るのではないでしょうか?

ユーザデータへのアクセス許可

この方法だとユーザは Google Cloud Platform などを意識することなく自分のデータを API を通してアプリケーションに提供することができます。
設定次第では、ユーザがオフラインの状態でも API にアクセスでき、バックグラウンドでデータ更新作業などが可能となります。

この機能を使うには、開発者が Google Cloud Platform 上で OAuth 2.0 Client というデータ使用の同意画面を表示するために必要な設定を行う必要があります。
ちょっとめんどくさいですが、実装してしまえば自分以外のデータを扱えるようになるので非常に便利です。

サービスアカウントによる認証

最後にサービスアカウントと呼ばれ特殊なアカウントでデータへアクセスする方法があります。
サービスアカウントは貴方と同じ権限を持つアカウントではなく、好きな権限を付与できる仮想の API アクセス用のアカウントになります。

なので、貴方のデータにアクセスできるようにするには作成したサービスアカウントに対して権限を追加してあげる必要があります。
先に出てきた Google Analytics などでは管理画面から管理者 (や閲覧者) を追加できるのでそこに作成したサービスアカウントを追加するようにします。

このサービスアカウントでアクセスできるデータ (権限を付与したデータ) であればユーザの認証画面などがなくてもアクセスが可能になります。

まとめ

以上、Google API を利用する方法 (準備) と認証方法についてでした。
記事を分けて OAuth2.0 での認証やサービスアカウントでの認証方法についてもまとめます。
ちょっとややこしいですが、そこまで難しくないのでぜひ挑戦してみて下さい!