2014-06-05 37 views
1

我遇到了多渠道路徑請求的問題。API分析:從多渠道路徑獲取primitiveValue響應

JSON響應與使用ga的經典請求:維度和指標不同。 它返回行中的原始值,我無法得到它們。

例: 下面是一個經典的請求,其中包含度量ga:transactionRevenue和維度ga:transactionId。 我得到這個行:

"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()方法,但它返回了一個奇怪的數組。 我也嘗試過MCFDataRows上的getPrimitiveValue(),但它返回一個空值。

$dataRows = $dataMCF->getRows(); 
for($i=0; $i<sizeof($dataRows); $i++){ 
    echo $dataRows[$i]->getPrimitiveValue(); 
} 

結果:什麼

能否請你幫我獲得這些價值? :3

編輯:

對象$數據行[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:受保護的數組。我讀了API的整個MCF類3次,沒有找到正確的功能。

回答

1

嘗試使用此:

$dataRows = $dataMCF->getRows(); 
foreach($dataRows AS $row){ 
       $temp_row = array(); 
       foreach ((array)$row->toSimpleObject() as $key => $value) { 
        $temp_row[ $key ] = $value['primitiveValue']; 
       } 
      } 
+0

噢!謝謝你,它完美的作品! –

1

,因爲谷歌我個人修改Analytics.php無法正常提供數據。

我在課堂上Google_Service_Analytics_McfDataRows添加了這個:

public function getData(){ 
    return $this->modelData; 
}