任何人都可以建议我关于Omniture REST API调用以生成报告(例如;我需要按收入生成十大浏览器的月度报告,按操作系统生成十大浏览器等?
首先,使用该Report.Queue方法创建报告请求.
这是上个月的一个例子:
{
"reportDescription":{
"reportSuiteID":"rsidhere",
"date":"2015-10",
"metrics":[
{
"id":"revenue"
}
],
"sortBy":"revenue",
"elements":[
{
"id":"browser",
"top":"10",
"startingWith":"1"
}
]
}
}
Run Code Online (Sandbox Code Playgroud)
这应该为您提供报告请求ID的响应,例如:
{
"reportID":123456789
}
Run Code Online (Sandbox Code Playgroud)
然后,用于Report.GetQueue检查报告的状态.
发送给这个方法的唯一方法是一个空[]数组.报告队列对整个公司来说是全球性的.它将返回一个看起来像这样的对象数组(示例):
[
{
"reportID":"123456789",
"type":"ranked",
"queueTime":"2015-11-14 03:24:23",
"status":"waiting",
"priority":"0",
"estimate":"0",
"user":"user"
}
// , {..}
]
Run Code Online (Sandbox Code Playgroud)
由于阵列中可以有多个对象(取决于队列中是否有其他报告),因此您必须遍历它并查找reportID匹配的对象.
该status物业将显示"等待"或"正在运行".它永远不会显示"完整"或任何东西.如果您没有reportID在阵列中找到您的信息,则表示报告已完成并准备好检索.
报告准备就绪后,使用该Report.Get方法检索报告.
您使用原始相同的返回值Report.Queue来获取报告:
{
"reportID":123456789
}
Run Code Online (Sandbox Code Playgroud)
注意:文档说如果您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"
}
Run Code Online (Sandbox Code Playgroud)
注意:您可以使用Adobe API Explorer来试用API方法并查看响应并帮助构建脚本.
| 归档时间: |
|
| 查看次数: |
4626 次 |
| 最近记录: |