【问题标题】:Omniture Report REST API callOmniture 报告 REST API 调用
【发布时间】:2018-08-28 16:42:30
【问题描述】:

任何人都可以建议我调用 Omniture REST API 以生成报告(例如;我需要为收入排名前十的浏览器和操作系统排名前十的浏览器等生成月度报告?

【问题讨论】:

  • 感谢您的回复。它真的帮了我很多。但我还有一个问题,即如何生成操作系统排名前十的浏览器的报告?

标签: adobe-analytics


【解决方案1】:

首先,使用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 请求。我的意思是,基本上就是这样。
【解决方案2】:

我创建了一个 python 模块,作为 Adob​​e Analytics 的高级 API。 你可以在这里查看:http://www.datanalyst.info/python/adobe-api/adobe-analytics-api-introduction/

它将检索您想要的报告并将其保存为 csv 文件。

【讨论】:

  • 嗨 Pitchkrak - 我希望您的答案是独立的(即所有相关位都写在这里),而不仅仅是链接到外部网站。无论如何,请留下链接,但在此处发布适当的代码 sn-p :-)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-12-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多