从Adobe'请求多个元素;使用Java的SiteCatalyst
以下是我从Adobe Analytics中提取数据的Java代码:(从存储库克隆) 5大小的向量包括度量值(“条目”、“订单”、“页面浏览量”、“访问量”、“访客”) “FR”(法国)是第一个元素(prop3)的值,实际上是“国家”变量。 问题是我没有关于第二个元素prop33的信息(prop33是“设备类型”) 最重要的是Adobe似乎忽略了第二个元素(prop33),只考虑第一个元素(prop3)进行搜索。我可以通过改变元素数组中两个元素的顺序来证明这一点从Adobe'请求多个元素;使用Java的SiteCatalyst,java,extract,extraction,adobe-analytics,data-extraction,Java,Extract,Extraction,Adobe Analytics,Data Extraction,以下是我从Adobe Analytics中提取数据的Java代码:(从存储库克隆) 5大小的向量包括度量值(“条目”、“订单”、“页面浏览量”、“访问量”、“访客”) “FR”(法国)是第一个元素(prop3)的值,实际上是“国家”变量。 问题是我没有关于第二个元素prop33的信息(prop33是“设备类型”) 最重要的是Adobe似乎忽略了第二个元素(prop33),只考虑第一个元素(prop3)进行搜索。我可以通过改变元素数组中两个元素的顺序来证明这一点 String[] elements
String[] elements = new String[2];
elements[0]="prop33";
elements[1]="prop3";
如果我把prop33放在第一位,输出行就不同了,Adobe的响应就像prop33(设备类型)是唯一的标准一样。例如:
iPhone has :
[47636.0, 6.0, 107440.0, 47729.0, 42330.0]
那么,我如何才能发送两个或多个元素作为匹配标准呢?这不是一个答案,更像是对你最后一条评论的回应,对于一条有希望帮助你找出问题所在的评论来说,这条评论太长了。再次声明,我不是一个真正的java程序员,所以请相信这是值得的。但是 首先,我想说清楚,你确实试过这个,对吗
desc.setElementId(“prop3”、“prop33”)代码>
你说那不行?因为看着我明白了
public void setElementIds(String…elementIds){..}
我对java的5分钟理解是String…
基本上是String[]
(数组)的语法糖,但它是接受字符串作为传递的多个参数,而不是单个字符串数组,因此在我看来,传递多个参数确实是一种方法
但总体而言,您应该检查请求中实际发送给Adobe的内容。我希望soap/xml版本的要求类似,但我不知道真正了解soap/xml版本,所以这里是JSON版本。根据您发布的内容(Report.Queue
),JSON对象负载应该如下所示:
{
"reportDescription":{
"reportSuiteID":"my_rs_id",
"dateFrom":"2016-10-12",
"dateTo":"2016-10-13",
"metrics":[
{
"id":"entries"
},
{
"id":"orders"
},
{
"id":"pageviews"
},
{
"id":"visits"
},
{
"id":"visitors"
}
],
"elements":[
{
"id":"prop3"
},
{
"id":"prop33"
}
]
}
}
{
"report":{
"type":"ranked",
"elements":[
{
"id":"prop3",
"name":"prop3 name here"
},
{
"id":"prop33",
"name":"prop33 name here"
}
],
"reportSuite":{
"id":"my_rs_id",
"name":"rsid name here"
},
"period":"Wed. 12 Oct. 2016 - Thu. 13 Oct. 2016",
"metrics":[
{
"id":"entries",
"name":"Entries",
"type":"number",
"decimals":0,
"latency":4599,
"current":false
},
{
"id":"orders",
"name":"Orders",
"type":"number",
"decimals":0,
"latency":4599,
"current":false
},
{
"id":"pageviews",
"name":"Page Views",
"type":"number",
"decimals":0,
"latency":4599,
"current":false
},
{
"id":"visits",
"name":"Visits",
"type":"number",
"decimals":0,
"latency":4599,
"current":false
},
{
"id":"visitors",
"name":"Visitors",
"type":"number",
"decimals":0,
"latency":4599,
"current":false
}
],
"data":[
{
"name":"<first prop3 value>",
"url":"",
"counts":[
"246944",
"0",
"494509",
"251168",
"200670"
],
"breakdown":[
{
"name":"<first breakdown prop33 value>",
"url":"",
"counts":[
"226556",
"0",
"460021",
"231637",
"184294"
]
},
{
"name":"<second breakdown prop33 value>",
"url":"",
"counts":[
"17058",
"0",
"23930",
"17628",
"15085"
]
} //, etc...
]
},
{
"name":"<second prop3 value>",
"url":"",
"counts":[
"246944",
"0",
"494509",
"251168",
"200670"
],
"breakdown":[
{
"name":"<first breakdown prop33 value>",
"url":"",
"counts":[
"226556",
"0",
"460021",
"231637",
"184294"
]
},
{
"name":"<second breakdown prop33 value>",
"url":"",
"counts":[
"17058",
"0",
"23930",
"17628",
"15085"
]
} //, etc...
]
} //,etc..
],
"totals":[
"253490",
"0",
"503495",
"253490",
"201190"
],
"version":"1.4.16.10"
},
"waitSeconds":0,
"runSeconds":0
}
因此,请检查http(s)请求以确保它看起来是这样的(或soap/xml等效)
您的(JSON)响应(Report.Get
)应该如下所示:
{
"reportDescription":{
"reportSuiteID":"my_rs_id",
"dateFrom":"2016-10-12",
"dateTo":"2016-10-13",
"metrics":[
{
"id":"entries"
},
{
"id":"orders"
},
{
"id":"pageviews"
},
{
"id":"visits"
},
{
"id":"visitors"
}
],
"elements":[
{
"id":"prop3"
},
{
"id":"prop33"
}
]
}
}
{
"report":{
"type":"ranked",
"elements":[
{
"id":"prop3",
"name":"prop3 name here"
},
{
"id":"prop33",
"name":"prop33 name here"
}
],
"reportSuite":{
"id":"my_rs_id",
"name":"rsid name here"
},
"period":"Wed. 12 Oct. 2016 - Thu. 13 Oct. 2016",
"metrics":[
{
"id":"entries",
"name":"Entries",
"type":"number",
"decimals":0,
"latency":4599,
"current":false
},
{
"id":"orders",
"name":"Orders",
"type":"number",
"decimals":0,
"latency":4599,
"current":false
},
{
"id":"pageviews",
"name":"Page Views",
"type":"number",
"decimals":0,
"latency":4599,
"current":false
},
{
"id":"visits",
"name":"Visits",
"type":"number",
"decimals":0,
"latency":4599,
"current":false
},
{
"id":"visitors",
"name":"Visitors",
"type":"number",
"decimals":0,
"latency":4599,
"current":false
}
],
"data":[
{
"name":"<first prop3 value>",
"url":"",
"counts":[
"246944",
"0",
"494509",
"251168",
"200670"
],
"breakdown":[
{
"name":"<first breakdown prop33 value>",
"url":"",
"counts":[
"226556",
"0",
"460021",
"231637",
"184294"
]
},
{
"name":"<second breakdown prop33 value>",
"url":"",
"counts":[
"17058",
"0",
"23930",
"17628",
"15085"
]
} //, etc...
]
},
{
"name":"<second prop3 value>",
"url":"",
"counts":[
"246944",
"0",
"494509",
"251168",
"200670"
],
"breakdown":[
{
"name":"<first breakdown prop33 value>",
"url":"",
"counts":[
"226556",
"0",
"460021",
"231637",
"184294"
]
},
{
"name":"<second breakdown prop33 value>",
"url":"",
"counts":[
"17058",
"0",
"23930",
"17628",
"15085"
]
} //, etc...
]
} //,etc..
],
"totals":[
"253490",
"0",
"503495",
"253490",
"201190"
],
"version":"1.4.16.10"
},
"waitSeconds":0,
"runSeconds":0
}
{
“报告”:{
“类型”:“排名”,
“要素”:[
{
“id”:“prop3”,
“名称”:“此处的prop3名称”
},
{
“id”:“prop33”,
“名称”:“此处的名称”
}
],
“报告套件”:{
“身份证”:“我的身份证”,
“名称”:“此处的rsid名称”
},
“期间”:“2016年10月12日星期三至2016年10月13日星期四”,
“指标”:[
{
“id”:“条目”,
“名称”:“条目”,
“类型”:“编号”,
“小数”:0,
“延迟”:4599,
“当前”:错误
},
{
“id”:“订单”,
“名称”:“订单”,
“类型”:“编号”,
“小数”:0,
“延迟”:4599,
“当前”:错误
},
{
“id”:“页面浏览量”,
“名称”:“页面浏览量”,
“类型”:“编号”,
“小数”:0,
“延迟”:4599,
“当前”:错误
},
{
“id”:“访问”,
“名称”:“访问”,
“类型”:“编号”,
“小数”:0,
“延迟”:4599,
“当前”:错误
},
{
“id”:“访客”,
“姓名”:“访客”,
“类型”:“编号”,
“小数”:0,
“延迟”:4599,
“当前”:错误
}
],
“数据”:[
{
“名称”:“,
“url”:“,
“计数”:[
"246944",
"0",
"494509",
"251168",
"200670"
],
“细分”:[
{
“名称”:“,
“url”:“,
“计数”:[
"226556",
"0",
"460021",
"231637",
"184294"
]
},
{
“名称”:“,
“url”:“,
“计数”:[
"17058",
"0",
"23930",
"17628",
"15085"
]
}//等等。。。
]
},
{
“名称”:“,
“url”:“,
“计数”:[
"246944",
"0",
"494509",
"251168",
"200670"
],
“细分”:[
{
“名称”:“,
“url”:“,
“计数”:[
"226556",
"0",
"460021",
"231637",
"184294"
]
},
{
“名称”:“,
“url”:“,
“计数”:[
"17058",
"0",
"23930",
"17628",
"15085"
]
}//等等。。。
]
}//等等。。
],
“总数”:[
"253490",
"0"
{
"report":{
"type":"ranked",
"elements":[
{
"id":"prop3",
"name":"prop3 name here"
},
{
"id":"prop33",
"name":"prop33 name here"
}
],
"reportSuite":{
"id":"my_rs_id",
"name":"rsid name here"
},
"period":"Wed. 12 Oct. 2016 - Thu. 13 Oct. 2016",
"metrics":[
{
"id":"entries",
"name":"Entries",
"type":"number",
"decimals":0,
"latency":4599,
"current":false
},
{
"id":"orders",
"name":"Orders",
"type":"number",
"decimals":0,
"latency":4599,
"current":false
},
{
"id":"pageviews",
"name":"Page Views",
"type":"number",
"decimals":0,
"latency":4599,
"current":false
},
{
"id":"visits",
"name":"Visits",
"type":"number",
"decimals":0,
"latency":4599,
"current":false
},
{
"id":"visitors",
"name":"Visitors",
"type":"number",
"decimals":0,
"latency":4599,
"current":false
}
],
"data":[
{
"name":"<first prop3 value>",
"url":"",
"counts":[
"246944",
"0",
"494509",
"251168",
"200670"
],
"breakdown":[
{
"name":"<first breakdown prop33 value>",
"url":"",
"counts":[
"226556",
"0",
"460021",
"231637",
"184294"
]
},
{
"name":"<second breakdown prop33 value>",
"url":"",
"counts":[
"17058",
"0",
"23930",
"17628",
"15085"
]
} //, etc...
]
},
{
"name":"<second prop3 value>",
"url":"",
"counts":[
"246944",
"0",
"494509",
"251168",
"200670"
],
"breakdown":[
{
"name":"<first breakdown prop33 value>",
"url":"",
"counts":[
"226556",
"0",
"460021",
"231637",
"184294"
]
},
{
"name":"<second breakdown prop33 value>",
"url":"",
"counts":[
"17058",
"0",
"23930",
"17628",
"15085"
]
} //, etc...
]
} //,etc..
],
"totals":[
"253490",
"0",
"503495",
"253490",
"201190"
],
"version":"1.4.16.10"
},
"waitSeconds":0,
"runSeconds":0
}
for (int j = 0; j < responseData.size(); j++)
{
System.out.println(responseData.get(j).getName()+ " has :");
System.out.println(responseData.get(j).getCounts());
List<ReportData>reportData;
reportData = responseData.get(j).getBreakdown();//<---Here's what is needed!!
for (int i = 0; i < reportData.size(); i++)
{
System.out.println(" "+reportData.get(i).getName());
System.out.println(" "+reportData.get(i).getCounts());
}
System.out.println("===============================================");
}