我可以使用RGA库从MCF API接收数据。共享查询:
SELECT (200/0.713788), 280.1952*0.713788, 280.195240043*0.713788
上面的查询提取了14836行数据。当我试图增加数据范围时,我收到此错误。 错误:服务器错误:(500)内部服务器错误 响应太大:内部错误
有没有解决办法?
答案 0 :(得分:1)
如果收到此错误,则可以按天对请求进行分块处理,以便一次请求就可以获取所有数据。像这样:
start_date <- "some_date"
end_date <- "some_date"
dates <- seq(as.Date(start_date), as.Date(end_date), by = 'day') #making vector of dates
mcf_data <- lapply(seq_along(dates), function(x){
get_mcf(profileId = ,
start.date = dates[x], end.date = dates[x],
metrics = "",
dimensions = "",
samplingLevel = "")
})
mcf_data <- data.table::rbindlist(mcf_data) #binding to a dataframe
答案 1 :(得分:0)
如果您查看MCF API的文档,您会发现Max-results的有效值是介于1000和10000之间的数字。
max-results = 100可选。要包含的最大行数 响应。您可以将此与start-index结合使用以进行检索 元素的子集,或单独使用它来限制数量 返回元素,从第一个开始。如果不是最大结果 如果提供,查询将返回默认的最多1000行。
多渠道路径报告API最多返回10,000 每个请求的行数,无论你要求多少。它也可以回归 如果没有多少维度段,则行数少于请求的行数 如你所料。例如,可能的值少于300 对于mcf:medium,所以当仅通过媒体进行分段时,您无法获得更多 即使您将max-results设置为更高的值,也会超过300行。
如果响应中有超过10000行,则应该使用nextLink来检索下一组数据。
更新:出于好奇,我联系了Google AnalyticsAPI团队。我觉得很奇怪,你要获得更多行,那么你应该基于文档。这是我回来的回复
对我来说,听起来开发人员需要缩短日期 范围不能获得500服务器超时。我不知道他是怎么知道的 很多行的查询将在他得到500响应时返回,所以我 我认为他的问题仍然存在一些混乱。就我而言 知道我们没有改变响应中允许的行数, 但是我们仍然需要在我们身边构建完整的响应并进行排序, 所以如果行数很大并且服务器上的CPU使用率是 在请求期间,他很容易得到500超时错误。
话虽如此,我已经向后端团队询问最近是否有关于10k限制的任何变化。
- 不得透露姓名的谷歌开发者 -