任何人都可以给我建议就以生成报告(例如Omniture的REST API调用,我需要通过操作系统等产生的十大浏览器的收入及前十名浏览器的月度报告Omniture的报告REST API调用
回答
首先,使用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方法并查看响应并帮助构建脚本。
有关使用java执行此API调用的任何建议,在Java中以JSON格式发送report.queue? –
@Abdullah我不是Java专家,但一个快速的谷歌搜索显示,有大量的Java库提供JSON请求。我的意思是基本上就是这样。 –
- 1. SiteCatalyst/Omniture报告REST API身份验证
- 2. 从REST API调用报告
- 3. 如何查看Omniture报告套件中的报告结果(SiteCatalyst)
- 4. 碧玉REST API,运行报告
- 5. Jenkins REST API:获取覆盖率报告
- 6. 在301重定向页面的Omniture数据报告
- 7. 如何允许用户保存来自REST API的报告?
- 8. omniture dashboad中的URL不正确我的报告
- 9. AdWords API报告
- 10. Rest Rest API调用ASP.NET Web API
- 11. 从REST API中调用REST Api(Node.js)
- 12. 从Omniture(SiteCatalyst)的网站报告中删除一个页面
- 13. 当Google Maps API调用API console中报告的“mapsbackend.loadMap”方法时?
- 14. 使用REST API生成JasperServer报告时传入内容
- 15. 使用Java从Twilio Rest Api发送报告
- 16. cURL调用REST Api
- 17. REST API调用await
- 18. Node.js Rest API调用
- 19. PHP:调用REST api
- 20. API用户使用报告:不一致的报告
- 21. Rspec的REST的API调用
- 22. 调试JIRA Rest Api调用
- 23. jQuery的REST API后调用
- 24. PHP中的REST API调用
- 25. Ember的REST API调用js
- 26. jBPM 6调用REST API的API用法
- 27. 犯罪报告API
- 28. API测试报告?
- 29. 在我的REST API中调用cloudconvert API
- 30. 其他API的报告
感谢您的回复。它真的帮了我很多。但我还有一个问题,那就是如何才能通过操作系统生成十大浏览器的报告? –