このページでは、コマンドラインを使って Google アナリティクス Data API v1 を使用する方法を説明します。
ステップ 1: API を有効にする
このボタンをクリックすると、新しい Cloud Platform プロジェクトを作成し、Google Analytics Data API v1 を自動的に有効にして、このチュートリアルに必要な OAuth2 認証情報を作成します。
Google アナリティクス Data API v1 を有効にするOAuth2 認証情報の構成ダイアログに自動的にリダイレクトされます。「どなたからのお問い合わせですか?」というメッセージが表示されたら、[パソコン] を選択します。
表示されたダイアログで [DOWNLOAD CLIENT CONFIGURATION] をクリックし、ファイル credentials.json
を作業ディレクトリに保存します。
または、OAuth2 認証情報を作成する手順に沿って既存のプロジェクトに手動で作成することもできます。
ステップ 2. Cloud SDK をインストールし、初期化する
開発マシンに gcloud コマンドライン ツールをインストールする必要があります。
ステップ 3: API 呼び出しを行う
これで、Google Analytics Data API を使用して Google アナリティクス 4 プロパティにクエリを実行できるようになりました。
報告エンティティを選択
このチュートリアルでは、環境変数 GA4_PROPERTY_ID
を使用して、API リクエストで使用するプロパティ ID を保存します。
コマンドラインに次のように入力して、GA4_PROPERTY_ID
変数を設定します。
export GA4_PROPERTY_ID=[YOUR-GA4-PROPERTY-ID]
[YOUR-GA4-PROPERTY-ID] を Google アナリティクス 4 プロパティ ID に置き換えます。次に例を示します。
export GA4_PROPERTY_ID=1234567890
リクエスト JSON を作成する
次の request.json
ファイルは、シンプルなレポートを作成する方法を示しています。
次のテキストを含む JSON リクエスト ファイルを作成し、request.json 書式なしテキスト ファイルとして作業ディレクトリに保存します。
request.json
{
"dateRanges": [{ "startDate": "2020-09-01", "endDate": "2020-09-15" }],
"dimensions": [{ "name": "country" }],
"metrics": [{ "name": "activeUsers" }]
}
認証
この例でユーザー認証情報を取得するには、次のコマンドを実行します。ステップ 1 でダウンロードした認証情報 JSON ファイルのパスを使用します。
gcloud auth application-default login \
--scopes=https://www.googleapis.com/auth/analytics.readonly \
--client-id-file=[PATH/TO/credentials.json]
新しいブラウザ ウィンドウに OAuth ユーザーの同意ダイアログが開きます。
リクエストを送信する
curl
と request.json の本文の内容を使用して、リクエストを Google Analytics Data API に送信します。コマンドラインで次のように入力します。
curl -X POST \
-H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \
-H "Content-Type: application/json; charset=utf-8" \
https://analyticsdata.googleapis.com/v1beta/properties/$GA4_PROPERTY_ID:runReport -d @request.json
curl
コマンドは、gcloud auth application-default print-access-token
コマンドを使用して認証トークンを取得します。
curl にファイル名を渡すには、-d
オプション(「データ」の意味)を使用し、ファイル名の前に @ 記号を付けます。このファイルは、curl コマンドを実行するのと同じディレクトリに存在する必要があります。
これで完了です。Google Analytics Data API に最初のリクエストを送信できました。