我有一个多通道通道请求的问题。
JSON响应与具有ga:维度和度量的经典请求不同。它以行为单位返回原始值,我无法获取它们。
为例:下面是一个具有度量ga:transactionRevenue和维度ga:transactionId的经典请求。我在rows:
中得到这个"rows": [
[
"10292",
"-231.5"
],
[
"11330",
"0.0"
],
[
"12180",
"37.5"
],
(...)
易于检索。
现在有了度量mcf:firstInteractionValue和维度mcf:sourceMedium。
"rows": [
[
{
"primitiveValue": "(direct) / (none)"
},
{
"primitiveValue": "2066.2514"
}
],
[
{
"primitiveValue": "YH-TW / cpc"
},
{
"primitiveValue": "0.0"
}
],
[
{
"primitiveValue": "ameblo.jp / referral"
},
{
"primitiveValue": "0.0"
}
],
(...)
我尝试了getRows()方法,但它返回给我一个奇怪的数组。我还尝试了getPrimitiveValue()对MCFDataRows,但它返回一个空值。
$dataRows = $dataMCF->getRows();
for($i=0; $i<sizeof($dataRows); $i++){
echo $dataRows[$i]->getPrimitiveValue();
}
结果:
你能帮我得到这些值吗?: 3
编辑:对象$dataRows[0]
Google_Service_Analytics_McfDataRows Object
(
[conversionPathValueType:protected] => Google_Service_Analytics_McfDataRowsConversionPathValue
[conversionPathValueDataType:protected] => array
[primitiveValue] =>
[collection_key:protected] => items
[modelData:protected] => Array
(
[0] => Array
(
[primitiveValue] => (direct) / (none)
)
[1] => Array
(
[primitiveValue] => 2066.2514
)
)
[processed:protected] => Array
(
)
)
我的印象是它真的很简单,但我从今天早上开始就无法获得这些值。我不知道如何获得modelData:protected数组。我读了整个API的MCF类3次,没有找到正确的函数。
试着用这个:
$dataRows = $dataMCF->getRows();
foreach($dataRows AS $row){
$temp_row = array( );
foreach ((array)$row->toSimpleObject() as $key => $value) {
$temp_row[ $key ] = $value['primitiveValue'];
}
}
我个人修改了Analytics.php,因为谷歌无法正确提供数据。
我在类Google_Service_Analytics_McfDataRows中添加了这个:
public function getData(){
return $this->modelData;
}