「Google APIをPythonやPHPから利用したい」
「BigQueryをプログラムから操作したい」
このような場合には、この記事の内容が参考になります。
この記事では、Google Cloud APIの認証ファイルを取得する方法を解説しています。
本記事の内容
- プロジェクトの作成
- APIの有効化
- サービスアカウントの作成
- 認証ファイルのダウンロード
それでは、上記に沿って解説していきます。
プロジェクトの作成
Google Cloud プラットフォーム
https://console.cloud.google.com/
ログインしていれば、次のような検索ボックスを確認できます。

「プロジェクト」を入力するとサジェストで候補が表示されます。

「プロジェクトを作成」を選択。
プロジェクトを作成する画面に遷移します。

プロジェクト名を入力します。
場所は、そのままで問題ありません。

入力が終わったら、「作成」ボタンをクリック。
作成したプロジェクトのダッシュボードが、表示されます。

以上、プロジェクトの作成を説明しました。
次は、APIの有効化を説明します。
APIの有効化
APIを作成したプロジェクトで有効化します。
まずは、対象のAPIを検索。

今回は、BigQuery APIを対象とします。

検索結果から、有効化したいAPIを選択します。
次のような画面が表示されます。

BigQuery APIに関しては、デフォルトで有効化されています。
そのため、わざわざ有効化する必要はありません。
有効化されていないAPIの場合は、次のような画面となります。

この場合は、「有効にする」ボタンをクリックします。
以上、APIの有効化を説明しました。
次は、サービスアカウントの作成を説明します。
サービスアカウントの作成
プログラムからAPIを利用する場合、サービスアカウントを作成します。
まずは、対象のAPIを検索して次の画面を開きます。

有効化していれば、「管理」ボタンをクリックできます。
「管理」ボタンをクリック。
次のような画面が表示されます。

「認証情報を作成」ボタンをクリック。
認証情報を入力する画面が表示されます。

「BigQuery API」が選択されていることを確認。
サービスアカウントの作成するため、「アプリケーション データ」をチェックします。

今回は、管理するLinuxサーバーからAPIを利用する想定です。
そのため、「いいえ、使用していません」をチェックして「次へ」ボタンをクリック。
サービスアカウント名を入力します。
自動的にサービスアカウントIDが入力されます。

説明は必須ではありません。
入力が完了したら、「作成して続行」ボタンをクリック。

ロールの設定画面です。
「フィルタ」に関連キーワードを入力して、サジェスト一覧から選択します。

BigQuery APIであれば、「BigQuery ユーザー」を選択します。

あとは、省略可能です。
「完了」ボタンをクリック。
以上、サービスアカウントの作成を説明しました。
次は、認証ファイルのダウンロードを説明します。
認証ファイルのダウンロード
「認証情報」画面に移動します。
ハンバーガーメニュー(三本線)から、移動できます。
三本線→APIとサービス→認証情報

「認証情報」画面では、作成したサービスアカウントを確認できます。

上記メールアドレスをクリックします。
名前で作成したサービスアカウントを判断できます。

「キー」タブを選択。

APIの認証ファイルとなる「鍵」を作成します。

「新しい鍵を作成」を選択。

「JSON」を選択した状態のまま、「作成」をクリック。

対象となるファイルをダウンロードできます。
ファイル名が長いので、次のファイル名に変更しておきます。
pypinfo-credentials.json

なお、通常はこのファイルの中身を公開するのはNGです。
安全のため、検証後に該当するサービスアカウント自体を削除しています。
以上、認証ファイルのダウンロードを説明しました。