2014-01-14 4 views
0

Когда я запрашиваю значения API, $results возвращает массив, но Google работает с $results как объект в своем примере?API Google Analytics - объект PHP против массива?

Кодекс находится под: https://developers.google.com/analytics/devguides/reporting/realtime/v3/reference/data/realtime/get#examples

Я всегда получаю

Fatal error: Call to a member function getKind() on a non-object

ли они изменить библиотеку и их собственный пример не работает больше, или есть какая-то ошибка с моей стороны? Но я до сих пор не изменил код, если не значение $ optparams.

PS: Все работает до сих пор, это вопрос об объекте/массиве.

я получаю за print_r($results):

Array ( 
    [kind] => analytics#realtimeData 
    [id] => https://www.googleapis.com/analytics/v3/data/realtime?ids=ga:**censored**&dimensions=ga:medium&metrics=ga:activeVisitors 
    [query] => Array (
     [ids] => ga:**censored** 
     [dimensions] => ga:medium 
     [metrics] => Array (
      [0] => ga:activeVisitors 
     ) 
     [max-results] => 1000 
    ) 
    [totalResults] => 8 
    [selfLink] => https://www.googleapis.com/analytics/v3/data/realtime?ids=ga:**censored**&dimensions=ga:medium&metrics=ga:activeVisitors 
    [profileInfo] => Array (
     [profileId] => **censored** 
     [accountId] => **censored** 
     [webPropertyId] => **censored** 
     [internalWebPropertyId] => **censored** 
     [profileName] => **censored** 
     [tableId] => realtime:**censored** 
    ) 
    [columnHeaders] => Array (
     [0] => Array (
      [name] => rt:medium 
      [columnType] => DIMENSION 
      [dataType] => STRING 
     ) 
     [1] => Array (
      [name] => ga:activeVisitors 
      [columnType] => METRIC 
      [dataType] => INTEGER 
     ) 
    ) 
    [totalsForAllResults] => Array (
     [ga:activeVisitors] => 752 
    ) 
    [rows] => Array (
     [0] => Array (
      [0] => DIRECT [1] => 283 
     ) 
     [1] => Array (
      [0] => E-Mail [1] => 5 
     ) 
     [2] => Array (
      [0] => ORGANIC [1] => 287 
     ) 
     [3] => Array (
      [0] => REFERRAL [1] => 92 
     ) 
     [4] => Array (
      [0] => SOCIAL [1] => 49 
     ) 
     [5] => Array (
      [0] => cpc [1] => 23 
     ) 
     [6] => Array (
      [0] => e-mail [1] => 8 
     ) 
     [7] => Array (
      [0] => facebook [1] => 5 
     ) 
    ) 
) 
+0

«на не-объекте» означает, что объект, к которому вы пытаетесь получить доступ, является «NULL». Вы уверены, что получаете данные? –

+0

где ваш код? – thescientist

+0

код находится под URL-адресом (не нужно взорвать сайт), это то же самое .. да, если я работаю с print_r ($ results), я получаю значения реального времени. – John

ответ

1

Вы можете установить это на клиенте с помощью setUseObjects метод. Например:

$client->setUseObjects(true); 

См Google_Client.php#384 по проекту хостинг.

Однако в настоящее время он не похож на новую альфа-версию library on GitHub.

+0

Спасибо! Это была проблема/решение -> Не удалось установить значение setUseObjects .. увидела его после установки по умолчанию true в config.php .. – John