我正在使用带有GAPI界面的Google Analytics API,并且很难获得查询结果。
从print_r($resultsTotal)
我得到以下内容。
Array
(
[0] => gapiReportEntry Object
(
[metrics:private] => Array
(
[avgTimeOnSite] => 102.38
[pageviewsPerVisit] => 1.9
[pageValue] => 0
[visitBounceRate] => 72
)
[dimensions:private] => Array
(
[hostname] => www.dossihost.net
)
)
)
从使用var_dump($resultsTotal)
我得到了这个:
array(1) { [0]=> object(gapiReportEntry)#2 (2) { ["metrics:private"]=> array(4) { ["avgTimeOnSite"]=> float(102.38) ["pageviewsPerVisit"]=> float(1.9) ["pageValue"]=> float(0) ["visitBounceRate"]=> float(72) } ["dimensions:private"]=> array(1) { ["hostname"]=> string(17) "www.dossihost.net" } } }
但是当通过这种方式提出要求时:
echo '<div><span>Avg TimeOnSite</span><br />'.$resultsTotal->getavgTimeOnSite().'</div>';
我收到以下错误:
Fatal error: Call to a member function getavgTimeOnSite() on a non-object in /home/workprog/public_html/gapi-1.3/test.php on line 80
答案 0 :(得分:0)
根据您的结构,您有一个包含对象的数组。似乎getavgTimeOnSite()
是一种访问数据的实用方法?因此,您的array
和object
数据并没有真正帮助调试。好吧,除了让我知道其中有一个array
object
!所以也许你可以像这样访问数据:
echo '<div><span>Avg TimeOnSite</span><br />' . $resultsTotal[0]->getavgTimeOnSite() . '</div>';
甚至可以使用foreach
:
foreach ($resultsTotal as $result) {
echo '<div><span>Avg TimeOnSite</span><br />' . $result->getavgTimeOnSite() . '</div>';
}
我还found this source code for a project显示了开发人员如何访问Google Analytics请求中的数据。查看它以获得有关如何访问数据的更多见解。