【发布时间】:2018-08-28 16:42:30
【问题描述】:
任何人都可以建议我调用 Omniture REST API 以生成报告(例如;我需要为收入排名前十的浏览器和操作系统排名前十的浏览器等生成月度报告?
【问题讨论】:
-
感谢您的回复。它真的帮了我很多。但我还有一个问题,即如何生成操作系统排名前十的浏览器的报告?
标签: adobe-analytics
任何人都可以建议我调用 Omniture REST API 以生成报告(例如;我需要为收入排名前十的浏览器和操作系统排名前十的浏览器等生成月度报告?
【问题讨论】:
标签: adobe-analytics
首先,使用Report.Queue方法创建报告请求。
这是上个月的一个例子:
{
"reportDescription":{
"reportSuiteID":"rsidhere",
"date":"2015-10",
"metrics":[
{
"id":"revenue"
}
],
"sortBy":"revenue",
"elements":[
{
"id":"browser",
"top":"10",
"startingWith":"1"
}
]
}
}
这应该会给你一个带有报告请求 ID 的响应,例如:
{
"reportID":123456789
}
然后,使用Report.GetQueue查看报告状态。
唯一要发送到这个方法的是一个空的[] 数组。报告队列对整个公司都是全局的。它将返回一个看起来像这样的对象数组(示例):
[
{
"reportID":"123456789",
"type":"ranked",
"queueTime":"2015-11-14 03:24:23",
"status":"waiting",
"priority":"0",
"estimate":"0",
"user":"user"
}
// , {..}
]
由于数组中可以有 1 个以上的对象(取决于队列中是否有任何其他报告),因此您必须遍历它并查找匹配的 reportID。
status 属性将显示“等待”或“运行”。它永远不会显示“完整”或任何东西。如果您没有在数组中找到您的reportID,则表示报告已完成并可以检索。
报告准备好后,使用Report.Get方法检索报告。
您使用与原始Report.Queue 相同的返回值来获取报告:
{
"reportID":123456789
}
注意:文档说如果您在报告尚未准备好检索时尝试使用Report.Get,您将收到一条错误消息,指出报告尚未准备好。所以从表面上看,这听起来像是跳过检查Report.GetQueue 的合理方法。但是,在实践中,我发现根据我请求的报告类型,将返回多少数据等(我不知道确切的公式),这是不正确的。有时它会返回部分报告!
返回的报告将如下所示(示例):
data[n].name 显示浏览器data[n].counts[0] 显示收入回复
{
"report":{
"type":"ranked",
"elements":[
{
"id":"browser",
"name":"Browser"
}
],
"reportSuite":{
"id":"rsidhere",
"name":"some rsid"
},
"period":"October 2015",
"metrics":[
{
"id":"revenue",
"name":"Revenue",
"type":"currency",
"decimals":2,
"latency":2696,
"current":false
}
],
"data":[
{
"name":"Microsoft Internet Explorer 11",
"url":"",
"counts":[
"474127.13"
]
},
{
"name":"Google Chrome 45.0",
"url":"",
"counts":[
"409498.61"
]
},
{
"name":"Google Chrome 46.0",
"url":"",
"counts":[
"355380.86"
]
},
{
"name":"Safari 9.0",
"url":"",
"counts":[
"275003.13"
]
},
{
"name":"Mozilla Firefox 41.0",
"url":"",
"counts":[
"166427.91"
]
},
{
"name":"Safari 8.0",
"url":"",
"counts":[
"125681.54"
]
},
{
"name":"Safari 0.8.2",
"url":"",
"counts":[
"103866.64"
]
},
{
"name":"::unspecified::",
"url":"",
"counts":[
"87761.87"
]
},
{
"name":"Safari 8.0.8",
"url":"",
"counts":[
"79675.79"
]
},
{
"name":"Safari 9.0.1",
"url":"",
"counts":[
"76977.82"
]
}
],
"totals":[
"2823943.75"
],
"version":"1.4.15.11"
},
"waitSeconds":"0.943",
"runSeconds":"8.710"
}
注意:您可以使用Adobe API Explorer 试用 API 方法并查看响应并帮助构建您的脚本。
【讨论】:
我创建了一个 python 模块,作为 Adobe Analytics 的高级 API。 你可以在这里查看:http://www.datanalyst.info/python/adobe-api/adobe-analytics-api-introduction/
它将检索您想要的报告并将其保存为 csv 文件。
【讨论】: