Google Analytics
作成日時:2019/09/12
更新日時:2019/09/12
Google API Client Libraries
https://developers.google.com/api-client-library/
アナリティクス API 使い方
APIの有効化
Google API Consoleでプロジェクトを作成し、そのプロジェクトでAPIを有効にします。
クライアントIDの作成
認証情報ページ : https://console.developers.google.com/apis/credentials
上記ページから「認証情報を作成」>「OAuth クライアント ID」を選択。
「アプリケーションの種類」は「ウェブ アプリケーション」を選択し、任意の「名前」と「承認済みのリダイレクト URI」に「http://localhost:8080/oauth2callback.php」を入力します。
こちらのURLはファイルを配置する環境に合わせて変更が必要です。ガイドの通り進めていく場合は同じ値で問題ありません。
「承認済みの JavaScript 生成元」はここでは未入力のまま進めます。
それぞれ入力が完了次第「作成」ボタンを押下でIDが作成されます。
「OAuth 同意画面」の設定が未入力の場合は入力を促す表示がされ、入力を行うまで作成が行えません。
「OAuth 2.0 クライアント ID」の欄に作成したIDが表示されているので、その右側の「JSON をダウンロード」アイコンからjsonファイルをダウンロードし、「client_secrets.json」という名前にリネームしておきます。
Google API Client Librariesのインストール
Google API Client Libraries : https://developers.google.com/api-client-library/
上記ページから使用する言語のページに遷移し、それぞれの手順でインストールを行います。
ここではPHPのインストールを行います。
PHPを選択するとGitHubページhttps://github.com/googleapis/google-api-php-clientに遷移します。
こちらのreleasesページhttps://github.com/googleapis/google-api-php-client/releasesから任意のバージョンのzipファイルをダウンロードし展開します。
ここでは「google-api-php-client-2.3.0.zip」をダウンロードしました。
GitHubからダウンロードではなく、公式ガイドのようにcomposerからのインストールも可能です。
サンプルコードの準備
ガイドページから「index.php」と「oauth2callback.php」の2ファイルをダウンロードしサーバーに配置、あわせてダウンロードしたクライアントライブラリの中身も同階層に配置、またはサンプルプログラムのパスをライブラリの配置先にあわせて修正します。
以下ページサンプルコードの「index.php」内にある「REPLACE_WITH_VIEW_ID」の部分は自身のビューIDに置き換えます。
ビューIDは「Google Analytics」の「管理」ページにある「ビューの設定」から確認可能です。
https://developers.google.com/analytics/devguides/reporting/core/v4/quickstart/web-php
アナリティクス API
https://developers.google.com/analytics/devguides/config/mgmt/v3/quickstart/web-php?hl=ja
https://github.com/googleapis/google-api-php-client
https://github.com/googleapis/google-api-php-client/releases
Googleサービス
Google Analytics : https://analytics.google.com/analytics/web/
Google Developer Console : https://console.developers.google.com
Google Cloud Platform : https://console.cloud.google.com
https://developers-jp.googleblog.com/2016/04/google-api.html
発生するエラー
[01-Jan-2000 00:00:00 UTC] PHP Fatal error: Uncaught Google_Service_Exception: {
"error": {
"code": 401,
"message": "Request had invalid authentication credentials. Expected OAuth 2 access token, login cookie or other valid authentication credential. See https://developers.google.com/identity/sign-in/web/devconsole-project.",
"errors": [
{
"message": "Invalid Credentials",
"domain": "global",
"reason": "authError",
"location": "Authorization",
"locationType": "header"
}
],
"status": "UNAUTHENTICATED"
}
}
in /Users/ユーザー名/Workspace/GoogleAnalyticsTest/google-api-php-client-2.3.0/src/Google/Http/REST.php:118
Stack trace:
#0 /Users/ユーザー名/Workspace/GoogleAnalyticsTest/google-api-php-client-2.3.0/src/Google/Http/REST.php(94): Google_Http_REST::decodeHttpResponse(Object(GuzzleHttp\Psr7\Response), Object(GuzzleHttp\Psr7\Request), 'Google_Service_...')
#1 /Users/ユーザー名/Workspace/GoogleAnalyticsTest/google-api-php-client-2.3.0/src/Google/Task/Runner.php(176): Google_Http_REST::doExecute(Object in /Users/ユーザー名/Workspace/GoogleAnalyticsTest/google-api-php-client-2.3.0/src/Google/Http/REST.php on line 118