Google Analytics API 認証エラー!User does not have any Google Analytics account 解決


ga_api_103
Google Analytics の API で情報取得しようとすると "message": "User does not have any Google Analytics account." というメッセージが・・・・
ということで Google_Service_Exception 403 PERMISSION_DENIED によって情報が取得できなかったので解決方法の備忘録する。

Google_Service_Exception 403 の原因

Google Analytics の情報が見れるのは、原則そのアカウントにログインできる人! 当然 APIからでも例外ではありません。
ただ、Google Analytics にはデータの共有化という機能があるので、設定をすれば他のアカウントからでも情報を見ることも可能。
今回、認証エラーになったのは情報を取得しようとするGoogle Analytics に APIからのアクセスを許可していなかったのが原因でした。

Google Analytics API 認証エラー 対策

Google API コンソール で Google Analytics の API を使うためにプロジェクトを作成します。プロジェクトでは、使うAPIを決めたり、APIのトラッフィクやエラー状態などを管理したりします。

ga_api_006

このプロジェクトのキーなどを使ってAPIを使ったりするわけですが、プロジェクトへ認証するためのサービスアカウントが必要になります。
つまり、このサービスアカウントが APIを通してGoogle Analytics へアクセスするので、Google Analytics 側では サービスアカウント をデータの共有化 の対象として登録します。

ga_api_007

Google Analytics にアクセスしたら、左下の 管理 から 管理画面にアクセスします。そして ユーザ管理 をクリックします。

ga_api_008

権限を付与するユーザーに、サービスアカウントIDを入力し「追加」ボタンをクリックします 。アクセス許可は、「表示と分析」を選択します。
ユーザーが作成されれば、API を通して Google Analytics へアクセスできるようになります。

※ サービスアカウントの作成などはこちら
PHPでGoogle Analytics情報をGoogle Analytics Reporting API V4 を使って取得してみた


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です