php - 谷歌 API 分析 PHP 每天
问题描述
我正在使用通过 composer v2.0 安装的 google-api-php-client。我需要每天/每周/每月等提取数据。但是,我只得到总数。
我可能错过了一处房产,但我在任何地方都找不到它应该是什么。
这是我正在使用的请求
$client = new Google_Client();
$client->setClientId(GOOGLE_CLIENT_ID);
$client->setClientSecret(GOOGLE_CLIENT_SECRET);
$client->setRedirectUri(GOOGLE_REDIRECT_URL);
$client->setAccessType('online'); // default: offline
$client->setApplicationName('Login to my app');
$client->addScope(Google_Service_Analytics::ANALYTICS_READONLY);
$analytics = new Google_Service_AnalyticsReporting($client);
function getReport($analytics, $profileId) {
$VIEW_ID = $profileId;
// Create the DateRange object.
$dateRange = new Google_Service_AnalyticsReporting_DateRange();
$dateRange->setStartDate("7daysAgo");
$dateRange->setEndDate("today");
$dateRange2 = new Google_Service_AnalyticsReporting_DateRange();
$dateRange2->setStartDate("14daysAgo");
$dateRange2->setEndDate("7daysAgo");
// Create the Metrics object.
$sessions = new Google_Service_AnalyticsReporting_Metric();
$sessions->setExpression("ga:sessions");
$sessions->setAlias("Sessions");
$new_users = new Google_Service_AnalyticsReporting_Metric();
$new_users->setExpression("ga:newUsers");
$new_users->setAlias("New users");
$organic = new Google_Service_AnalyticsReporting_Metric();
$organic->setExpression("ga:organicSearches");
$organic->setAlias("Organic results");
// Create the ReportRequest object.
$request = new Google_Service_AnalyticsReporting_ReportRequest();
$request->setViewId($VIEW_ID);
$request->setDateRanges(array($dateRange,$dateRange2));
$request->setMetrics(array($sessions, $new_users, $organic));
$body = new Google_Service_AnalyticsReporting_GetReportsRequest();
$body->setReportRequests( array( $request) );
return $analytics->reports->batchGet( $body );
}
这仅返回我指定的日期范围的总数。
我希望你能帮我找到丢失的财产或我做错了什么。谢谢你。
解决方案
您需要传递ga:date
维度以按日期对结果进行分组。您可以使用 Google Analytics(分析) Dimensions and Metrics Explorer找到完整的指标和维度列表,并使用数据。正如您在评论中提到的,您可以将其添加到您的代码中:
$date = new Google_Service_AnalyticsReporting_Dimension();
$date->setName("ga:date");
$request->setDimensions(array($date));
推荐阅读
- functional-programming - 方案 - if 和 or 之间的区别
- java - 我的代码有什么问题?使用带有字符串的拆分,并将标记分配给类 [JAVA] 中的字段
- android - 使用 Volley 通过 URL 解析 JSON
- c++ - windows和linux的差异:c++中的反斜杠和正斜杠
- bash - sed 分行(高级)
- php - 在共享主机上安装单个作曲家包的建议
- gatsby - 如何将特定上下文注入 Gatsby 中的所有页面?
- javascript - Chart.js 无法从 php 中读取元素作为标签
- git - DCO 签名问题,src refspec 不匹配,无法推送一些 refs
- c# - 按列排序网格