google 分析 api v4 使用 PHP。排序输出

google analytics api v4 using PHP. Ordering output

我在 google analytics API v4 和 PHP 上有这段代码。

  $eCPM_Adsense = new Google_Service_AnalyticsReporting_Metric();
  $eCPM_Adsense->setExpression("ga:adsenseECPM");
  $eCPM_Adsense->setAlias("eCPM Adsense");


    // Create the Ordering.
    $ordering = new Google_Service_AnalyticsReporting_OrderBy();
    $ordering->setFieldName("ga:adsenseECPM");
    $ordering->setOrderType("VALUE");   
    $ordering->setSortOrder("DESCENDING");

订单对我不起作用。你能帮助我吗? 谢谢

问题是您需要在请求中设置 setOrderBys()。 API 文档中没有详细说明...

一个例子

$ordering = new Google_Service_AnalyticsReporting_OrderBy();
$ordering->setFieldName("ga:pageviews");
$ordering->setOrderType("VALUE");   
$ordering->setSortOrder("DESCENDING");

$request = new Google_Service_AnalyticsReporting_ReportRequest();
$request->setViewId($VIEW_ID);
$request->setDateRanges($dateRange);
$request->setDimensions(array($path));
$request->setMetrics(array($sessions));
$request->setOrderBys($ordering); // note this one!

我创建了一个库来帮助您使用 php 轻松集成分析 api v4。看看:https://github.com/panakour/google-analytics

OrderBy 方法在 Google 文档中没有很好的解释。 他们在 Reporting API v4 中的唯一示例是

// Create the Ordering.
$ordering = new Google_Service_AnalyticsReporting_OrderBy();
$ordering->setOrderType("HISTOGRAM_BUCKET");
$ordering->setFieldName("ga:sessionCount");

这里有一个 getReport($analytics) 的例子

function getReport($analytics) {

  // Replace with your view ID, for example XXXX.
  $VIEW_ID = "<REPLACE_WITH_VIEW_ID>";

  // Create the DateRange object.
  $dateRange = new Google_Service_AnalyticsReporting_DateRange();
  $dateRange->setStartDate("30daysAgo");
  $dateRange->setEndDate("yesterday");

  // Create the Metrics object.
  $sessions = new Google_Service_AnalyticsReporting_Metric();
  $sessions->setExpression("ga:searchUniques");
  $sessions->setAlias("searchKeyword");

  //Create the Dimensions object.
  $searchKeyword = new Google_Service_AnalyticsReporting_Dimension();
  $searchKeyword->setName("ga:searchKeyword");

  // Create order object
  $ordering = new Google_Service_AnalyticsReporting_OrderBy();
  $ordering->setFieldName("ga:searchUniques");
  $ordering->setOrderType("VALUE");   
  $ordering->setSortOrder("DESCENDING"); //There is no "-" usage

  // Create the ReportRequest object.
  $request = new Google_Service_AnalyticsReporting_ReportRequest();
  $request->setViewId($VIEW_ID);
  $request->setDateRanges($dateRange);
  $request->setDimensions(array($searchKeyword));
  $request->setMetrics(array($sessions));
  $request->setOrderBys($ordering); //Must be added

  $body = new Google_Service_AnalyticsReporting_GetReportsRequest();
  $body->setReportRequests( array( $request) );
  return $analytics->reports->batchGet( $body );
}

迁移文档中也没有提及。希望快点更新