2016-11-01 10 views
1

ページビューを取得するには、google analytics APIのURL数はわずかですか?ページビューを取得するには、google analytics APIのURL数はわずかですか?

$requests = []; 
    foreach($urls as $url) { 


     $dateRange = new Google_Service_AnalyticsReporting_DateRange(); 
     $dateRange->setStartDate($start_date); 
     $dateRange->setEndDate($end_date); 


     $sessions = new Google_Service_AnalyticsReporting_Metric(); 
     $sessions->setExpression("ga:pageviews"); 
     $sessions->setAlias("pageviews"); 

     $dimensionFilter = new Google_Service_AnalyticsReporting_DimensionFilter(); 
     $dimensionFilter->setDimensionName('ga:pagePath'); 
     $dimensionFilter->setOperator('BEGINS_WITH'); 
     $dimensionFilter->setExpressions([$url]); 


     $dimensionFilterClause = new Google_Service_AnalyticsReporting_DimensionFilterClause(); 
     $dimensionFilterClause->setFilters([$dimensionFilter]); 


     $request = new Google_Service_AnalyticsReporting_ReportRequest(); 
     $request->setViewId($this->view_id); 
     $request->setDateRanges($dateRange); 
     $request->setMetrics([$sessions]); 
     $request->setDimensionFilterClauses([$dimensionFilterClause]); 
     $requests[] = $request; 
    } 

    // и делаем 1 большой запрос для всех указанных URL адресов 
    $body = new Google_Service_AnalyticsReporting_GetReportsRequest(); 
    $body->setReportRequests([$requests]); 

    $reports = $this->analytics->reports->batchGet($body); 

URLをカウントした場合は、メッセージを持つ以上5投げる例外です:

バッチリクエストであまりにも多くのリクエストがあります。許可される最大値は5

どのようにすればいいですか? GA APIバージョン4

答えて

2

回答:バッチあたり最大5つのレポートを作成できます。 1回のバッチリクエストで10のレポートを送信する方法はありません。

reportRequests[] object(ReportRequest)リクエストごとに、各リクエスト には別々の応答があります。の要求は最大でです。 すべてのリクエストは、同じdateRanges、viewId、セグメント、 samplingLevel、およびcohortGroupを持つ必要があります。

可能な作業が豊富:

これは、あなたが10を持っている場合、あなたはおそらく2つの要求に分割しているつもりことを意味します。あなたはおそらくあなたが思っている以上に追加できるフィルタ式を見ることができます。 (ヒント:ページパスディメンションを追加すると、データレスポンスをフィルタでヒットしたページにマップできます)

一致する文字列または正規表現です。演算子がIN_LISTでない限り、リストの最初の値 のみが比較に使用されます。 IN_LIST演算子の場合、IN_LIST演算子の説明で説明したように、リスト全体を使用して ディメンションをフィルタリングします。

注:実際には複数のフィルタをテストしていませんが、動作するはずです。

+0

回答ありがとうございます。はい、2回のバッチリクエストごとに10個のURLを分割できます。しかしそれは良くありません。 APIには問題解決の機会があると思います。 すべてのURLバージョン(^/page、^/page?utm_source = 1、、^/page?utm_source = 2)のページビュー数を取得する必要があるため、式IN_LISTを使用できません。したがって、私はBEGINS_WITHを使用します。 – docxplusgmoon

+0

APIにはこれを解決する機能がありません。ドキュメントに記載されているように、バッチごとに5つのレポート要求しか送信できません。いいえ、私はGoogleがあなたのためにそれを増やすつもりはないと思います。私は彼らと話すときにチームと一緒に持ち出すことができますが、私は本当に5つが似ていると思います。 ga:pagepathを追加すると、結果を日付とページでグループ化し、必要な情報をフィルタで取得する必要があります。私のRegExは非常に錆びていますが、私はまだ考えています。 – DaImTo

関連する問題