我们对Google Analytics核心报告API中合并的不同页面的统计信息感兴趣。我发现同时查询多个页面的唯一方法是创建一个类似的过滤器:
ga:pagePath==page?id=a,ga:pagePath==page?id=b,ga:pagePath==page?id=c
这会在GET查询的filter参数内转义。
然而,当GET查询超过2000个字符时,我得到以下响应:
414. That’s an error.
The requested URL /analytics/v3/data/ga... is too large to process. That’s all we know.
请注意,就像在示例调用中一样,每页不同的唯一部分是pagePath
中的GET参数,但我们必须使用OR指定两个指标(pagePath
)的新过滤器以及路径中始终相同的部分。
有没有办法指定大量不同的页面来查询而不在GET查询中达到此限制(我找不到任何执行POST请求的文档)?或者有没有其他方法可以为每个查询创建最多X个不同页面的批次并在我的结尾添加它们?
答案 0 :(得分:2)
您应该将其用作维度,而不是将ga:pagePath用作过滤器的一部分。每种查询最多可以获得10,000行,并分页以获得所有结果。然后解析结果客户端以获得所需内容。另外,根据您的站点结构或页面名称,使用过滤器来尽可能缩小结果范围。
答案 1 :(得分:0)
我正在共享一个示例代码,您可以通过Items PerPage
的帮助获取超过10,000个记录数据private void GetDataofPpcInfo(DateTime dtStartDate, DateTime dtEndDate, AnalyticsService gas, List<PpcReportData> lstPpcReportData, string strProfileID)
{
int intStartIndex = 1;
int intIndexCnt = 0;
int intMaxRecords = 10000;
var metrics = "ga:impressions,ga:adClicks,ga:adCost,ga:goalCompletionsAll,ga:CPC,ga:visits";
var r = gas.Data.Ga.Get("ga:" + strProfileID, dtStartDate.ToString("yyyy-MM-dd"), dtEndDate.ToString("yyyy-MM-dd"),
metrics);
r.Dimensions = "ga:campaign,ga:keyword,ga:adGroup,ga:source,ga:isMobile,ga:date";
r.MaxResults = 10000;
r.Filters = "ga:medium==cpc;ga:campaign!=(not set)";
while (true)
{
r.StartIndex = intStartIndex;
var dimensionOneData = r.Fetch();
dimensionOneData.ItemsPerPage = intMaxRecords;
if (dimensionOneData != null && dimensionOneData.Rows != null)
{
var enUS = new CultureInfo("en-US");
intIndexCnt++;
foreach (var lstFirst in dimensionOneData.Rows)
{
var objPPCReportData = new PpcReportData();
objPPCReportData.Campaign = lstFirst[dimensionOneData.ColumnHeaders.IndexOf(dimensionOneData.ColumnHeaders.FirstOrDefault(h => h.Name == "ga:campaign"))];
objPPCReportData.Keywords = lstFirst[dimensionOneData.ColumnHeaders.IndexOf(dimensionOneData.ColumnHeaders.FirstOrDefault(h => h.Name == "ga:keyword"))];
lstPpcReportData.Add(objPPCReportData);
}
intStartIndex = intIndexCnt * intMaxRecords + 1;
}
else break;
}
}
只有一件事是您的查询长度不应超过2000个奇数字符