シリーズの最初の部分では、基本的な使用法を含むGoogle Analytics APIを導入しました。この部分では、デモを作成し続け、より多くの機能でどのように拡張できるかを確認します。
キーテイクアウト応答として配列を返すと、Laravelは結果をJSON応答として自動的にエンコードし、ブラウザに送信することに注意してください。
結果には、合計結果といくつかのページネーション情報に関する情報が含まれています。アイテム列には、ID、アクセス許可などのアカウントのリストが含まれていますが、アイテムをループして、アカウントからIDと名前のみを抽出しました。<span>// app/src/GA_Service.php </span><span>public function accounts(){ </span> <span>if( !$this->isLoggedIn() ){ </span> <span>//login </span> <span>} </span> <span>$service = new Google_AnalyticsService($this->client); </span> <span>$man_accounts = $service->management_accounts->listManagementAccounts(); </span> <span>$accounts = []; </span> <span>foreach ($man_accounts['items'] as $account) { </span> <span>$accounts[] = [ 'id' => $account['id'], 'name' => $account['name'] ]; </span> <span>} </span> <span>return $accounts; </span><span>}//accounts </span> <span>// app/controllers/HomeController.php </span><span>public function accounts(){ </span> <span>$accounts = $this->ga->accounts(); </span> <span>return $accounts; </span><span>}//accounts </span> <span>// app/routes.php </span><span>Route<span>::</span>get('/accounts', 'HomeController@accounts');</span>
ユーザーにアカウントのリストを表示すると仮定します。それを選択すると、それに関連付けられたプロパティのリストをロードします。
ga_service ::プロパティはアカウントIDを受け入れ、そのアカウントのプロパティのリストを返します。基本的に、アカウントの取得など、同じプロセスがあります
<span>$this->client->setUseObjects(true);</span>
すべてのプロパティには、ビューのサブセットがあります。デフォルトでは、Googleはすべての新しいプロパティのすべてのWebサイトデータと呼ばれるビューを追加します。
プロパティのリストと最初の部分から取得したアカウントIDのIDを使用して、特定のアカウントプロパティの利用可能なビューのリストについては、Google Analytics APIを照会します。
<span>// app/src/GA_Service.php </span><span>public function accounts(){ </span> <span>if( !$this->isLoggedIn() ){ </span> <span>//login </span> <span>} </span> <span>$service = new Google_AnalyticsService($this->client); </span> <span>$man_accounts = $service->management_accounts->listManagementAccounts(); </span> <span>$accounts = []; </span> <span>foreach ($man_accounts['items'] as $account) { </span> <span>$accounts[] = [ 'id' => $account['id'], 'name' => $account['name'] ]; </span> <span>} </span> <span>return $accounts; </span><span>}//accounts </span> <span>// app/controllers/HomeController.php </span><span>public function accounts(){ </span> <span>$accounts = $this->ga->accounts(); </span> <span>return $accounts; </span><span>}//accounts </span> <span>// app/routes.php </span><span>Route<span>::</span>get('/accounts', 'HomeController@accounts');</span>
メタデータapi
<span>$this->client->setUseObjects(true);</span>
寸法:寸法は、国やブラウザなどのいくつかの一般的な基準にわたってメトリックを分解します。
MakereQuestメソッドはGoogle_HttpRequestインスタンスを返し、getResponseBodyを使用してメタデータ応答を取得できます。
<span>{ </span> kind<span>: "analytics#accounts", </span> <span>username: "me@mail.com", </span> <span>totalResults: 3, </span> <span>startIndex: 1, </span> <span>itemsPerPage: 1000, </span> <span>items: [ </span> <span>{ </span> id<span>: "4449308", </span> <span>kind: "analytics#account", </span> <span>selfLink: "https://www.googleapis.com/analytics/v3/management/accounts/4449308", </span> <span>name: "me@mail.com", </span> <span>permissions: { </span> effective<span>: [ </span> <span>"COLLABORATE", </span> <span>"EDIT", </span> <span>"MANAGE_USERS", </span> <span>"READ_AND_ANALYZE" </span> <span>] </span> <span>}, </span> <span>created: "2013-10-01T11:04:28.478Z", </span> <span>updated: "2013-10-01T11:04:28.478Z", </span> <span>childLink: { </span> type<span>: "analytics#webproperties", </span> <span>href: "https://www.googleapis.com/analytics/v3/management/accounts/4449308/webproperties" </span> <span>} </span> <span>} </span> <span>] </span><span>}</span>
スクリーンショットからわかるように、ユーザーがアカウントを選択すると、それに応じてプロパティとビューを非同期に変更します。それを達成するために、私はあなたが最終的なリポジトリをチェックできるいくつかの簡単なJSを書きました。
<span>$service->management_accounts->listManagementAccounts( [ 'max-results' => $max_results, 'start-index' => $start_index ] );</span>
のレポート
選択されたビュー、メトリック、ディメンションを提供することにより、ユーザーとインタラクションに関する詳細な統計を取得できます。ユーザーの提出後の結果は、次のようなものになります。<span>// app/src/GA_Service.php </span><span>public function properties( $account_id ){ </span> <span>if( !$this->isLoggedIn() ){ </span> <span>//login </span> <span>} </span> <span>try { </span> <span>$service = new Google_AnalyticsService($this->client); </span> <span>$man_properties = $service->management_webproperties->listManagementWebproperties($account_id); </span> <span>$properties = []; </span> <span>foreach ($man_properties['items'] as $property) { </span> <span>$properties[] = [ 'id' => $property['id'], 'name' => $property['name'] ]; </span> <span>}//foreach </span> <span>return json_encode($properties); </span> <span>} catch (Google_ServiceException $e) { </span> <span>return Response<span>::</span>json([ </span> <span>'status' => 0, </span> <span>'code' => 3, </span> <span>'message' => $e->getMessage() </span> <span>]); </span> <span>}//catch </span> <span>}//properties </span> <span>// app/controllers/HomeController.php </span><span>public function properties( $account_id ){ </span> <span>$properties = $this->ga->properties( $account_id ); </span> <span>return $properties; </span><span>}//properties </span> <span>// app/routes.php </span><span>Route<span>::</span>get( '/properties/{account_id}', [ 'uses' => 'HomeController@properties' ] )->where('account_id', '\d+');</span>
ga_service ::レポートは、ビューID、開始日と終了日、メトリックの配列の4つの引数を受け入れます。
Googleはすべてのレガシーデータを返すことはできません。代わりに、開始日と終了日を提供します。私の例では、先月の結果を尋ねました3番目のパラメーターは、ユーザーの選択から既にあるメトリックのリストです。
4番目のオプションパラメーターは、オプションの配列です。
- Max-Results:結果の最大数。 (10を使用して応答を高速化しました)。
- 寸法:値の分離されたコンマ分離されたリスト。 (GA:国、ジョージア州:都市)
- フィルター:結果に付随するルールのコンマ分離リスト(GA:COUNTRY!= USA、GA:PageViews> 100)
この例では、米国を寸法のリストから除外し、100を超えるページビューのみを示しました。
- セグメント:データに適用される高度なセグメントID。
- 並べ替え:寸法またはメトリックによる結果を注文します。複数の次元とメトリックを組み合わせることができます。 (GA:国、-GA:PageViews = GA:COUNTRY ASCENDING、およびGA:PageViews Desinding。
- start-index:ページネーションに使用できます。
<span>// app/src/GA_Service.php </span><span>public function accounts(){ </span> <span>if( !$this->isLoggedIn() ){ </span> <span>//login </span> <span>} </span> <span>$service = new Google_AnalyticsService($this->client); </span> <span>$man_accounts = $service->management_accounts->listManagementAccounts(); </span> <span>$accounts = []; </span> <span>foreach ($man_accounts['items'] as $account) { </span> <span>$accounts[] = [ 'id' => $account['id'], 'name' => $account['name'] ]; </span> <span>} </span> <span>return $accounts; </span><span>}//accounts </span> <span>// app/controllers/HomeController.php </span><span>public function accounts(){ </span> <span>$accounts = $this->ga->accounts(); </span> <span>return $accounts; </span><span>}//accounts </span> <span>// app/routes.php </span><span>Route<span>::</span>get('/accounts', 'HomeController@accounts');</span>
demo を拡張します
フィルターは、返された結果からいくつかのデータを除外する方法です。彼らは次の形式を取っています:
ga:列:寸法またはメトリックID(例:ga:国)
<span>$this->client->setUseObjects(true);</span>
/セグメントページにアクセスして、IDを持つ利用可能なセグメントのリストを表示できます。もちろん、これを以前に見たようにオプションとして使用できます。
ラッピングこのシリーズでは、Googleアナリティクスの基本的な使用法に焦点を当てましたが、Google Analyticsダッシュボードからオプションを使用してデモを拡張できます。
このチュートリアルのソースコードの最終リポジトリを確認できます。質問?コメント?私に知らせてください!
<span>{ </span> kind<span>: "analytics#accounts", </span> <span>username: "me@mail.com", </span> <span>totalResults: 3, </span> <span>startIndex: 1, </span> <span>itemsPerPage: 1000, </span> <span>items: [ </span> <span>{ </span> id<span>: "4449308", </span> <span>kind: "analytics#account", </span> <span>selfLink: "https://www.googleapis.com/analytics/v3/management/accounts/4449308", </span> <span>name: "me@mail.com", </span> <span>permissions: { </span> effective<span>: [ </span> <span>"COLLABORATE", </span> <span>"EDIT", </span> <span>"MANAGE_USERS", </span> <span>"READ_AND_ANALYZE" </span> <span>] </span> <span>}, </span> <span>created: "2013-10-01T11:04:28.478Z", </span> <span>updated: "2013-10-01T11:04:28.478Z", </span> <span>childLink: { </span> type<span>: "analytics#webproperties", </span> <span>href: "https://www.googleapis.com/analytics/v3/management/accounts/4449308/webproperties" </span> <span>} </span> <span>} </span> <span>] </span><span>}</span>
PHPでGoogle Analytics API V3を使用するための前提条件は何ですか? Googleアカウントと取得するGoogleアナリティクスデータへのアクセスが必要です。また、サーバーにPHPをインストールし、PHPプログラミングの基本的な理解も必要です。 API資格情報を作成したときに受け取ったクライアントIDとクライアントの秘密を使用する必要があります。これらの資格情報を使用してアクセストークンを取得できます。これを使用してAPIリクエストを認証することができます。 Analytics PHPを使用すると、Google Analytics APIにGETリクエストを行う必要があります。リクエストパラメーターに適用するメトリック、寸法、およびフィルターを指定できます。 APIはJSON形式で要求されたデータを返します。これはアプリケーションで解析して使用できます。 Google Analytics API V3 PHPを使用すると、無効な要求パラメーターや認証の問題など、さまざまな理由でエラーが発生する可能性があります。これらのエラーは、APIによって返されるHTTPステータスコードとエラーメッセージをチェックすることで処理できます。これにより、何がうまくいかなかったか、どのように修正するかについての情報が提供されます。Google Analytics API V3をPHPで使用してリアルタイムデータを追跡できますか?リアルタイムデータを追跡するためのPHPを備えたAPI V3。 APIは、サイト上のアクティブユーザーの数などのリアルタイムデータを取得するために使用できるリアルタイムレポートAPIを提供します。 APIリクエストでフィルターパラメーターを指定することにより、Google Analytics API V3を使用してPHPでGoogle Analytics API V3を使用するときにデータをフィルタリングできます。これらのパラメーターを使用すると、特定の基準を満たすためにAPIによって返されるデータを制限することができます。 Google Analytics API V3をPHPで使用して、複数のGoogleアナリティクスアカウントからデータを取得できます。各アカウントで個別に認証し、各アカウントに対して個別のAPIリクエストを作成する必要があります。Google Analytics API V3をPHPで使用する場合、結果をページングするにはどうすればよいですか?
以上がPHPでGoogle Analytics API V3を使用:データの取得の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。