首页
学习
活动
专区
圈层
工具
发布

关键词
EN

Stack Overflow用户
提问于 2018-02-14 18:24:01
回答 1查看 1K关注 0票数 1

我使用google分析实例,我想得到我的关键字列表。对不起,我对分析API非常陌生,找不到它的参考资料。下面是从那里复制的代码:

代码语言:javascript
复制
<?php
require_once __DIR__ . '/vendor/autoload.php';
$analytics = initializeAnalytics();
$response = getReport($analytics);
printResults($response);

 // Initializes an Analytics Reporting API service object.
function initializeAnalytics()
{
}
// Queries the Analytics Reporting API V4.
function getReport($analytics) {
  $VIEW_ID = "xxxx";
  $dateRange = new Google_Service_AnalyticsReporting_DateRange();
  $dateRange->setStartDate("7daysAgo");
  $dateRange->setEndDate("today");

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

  // Create the ReportRequest object.
  $request = new Google_Service_AnalyticsReporting_ReportRequest();
  $request->setViewId($VIEW_ID);
  $request->setDateRanges($dateRange);
  $request->setMetrics(array($sessions));

  $body = new Google_Service_AnalyticsReporting_GetReportsRequest();
  $body->setReportRequests( array( $request) );
  return $analytics->reports->batchGet( $body );
}
 // Parses and prints the Analytics Reporting API V4 response.
function printResults($reports) {
  for ( $reportIndex = 0; $reportIndex < count( $reports ); $reportIndex++ ) {
    $report = $reports[ $reportIndex ];
    $header = $report->getColumnHeader();
    $dimensionHeaders = $header->getDimensions();
    $metricHeaders = $header->getMetricHeader()->getMetricHeaderEntries();
    $rows = $report->getData()->getRows();

    for ( $rowIndex = 0; $rowIndex < count($rows); $rowIndex++) {
      $row = $rows[ $rowIndex ];
      $dimensions = $row->getDimensions();
      $metrics = $row->getMetrics();
      for ($i = 0; $i < count($dimensionHeaders) && $i < count($dimensions); $i++) {
        print($dimensionHeaders[$i] . ": " . $dimensions[$i] . "\n");
      }

      for ($j = 0; $j < count($metrics); $j++) {
        $values = $metrics[$j]->getValues();
        for ($k = 0; $k < count($values); $k++) {
          $entry = $metricHeaders[$k];
          print($entry->getName() . ": " . $values[$k] . "\n");
        }
      }
    }
  }
}

这将输出给定视图过去七天的会话数,但我希望得到关键字。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-02-15 15:39:19

您需要将dimensions参数添加到API请求中。有点像

代码语言:javascript
复制
//Create the Dimensions object.
$keyword = new Google_Service_AnalyticsReporting_Dimension();
$keyword->setName("ga:keyword");
///...
// Create the ReportRequest object.
$request = new Google_Service_AnalyticsReporting_ReportRequest();
$request->setViewId($VIEW_ID);
$request->setDateRanges($dateRange);
$request->setMetrics(array($sessions));
// Here is an addition
$request->setDimensions(array($keyword)); 

$body = new Google_Service_AnalyticsReporting_GetReportsRequest();

您可以在Analytics站点:https://developers.google.com/analytics/devguides/reporting/core/v4/samples上找到更多的示例

请记住,在这种情况下,您将只获得付费关键字的数据,因为在大多数情况下,分析中没有跟踪有机关键字。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48793870

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档