Я пытаюсь использовать эту функцию в своем коде: https://developers.google.com/drive/v2/reference/files/list
Ниже:
/** * Retrieve a list of File resources. * * @param apiDriveService $service Drive API service instance. * @return Array List of File resources. */ function retrieveAllFiles($service) { $result = array(); $pageToken = NULL; do { try { $parameters = array(); if ($pageToken) { $parameters['pageToken'] = $pageToken; } $files = $service->files->listFiles($parameters); array_merge($result, $files->getItems()); // <---- Exception is throw there ! $pageToken = $files->getNextPageToken(); } catch (Exception $e) { print "An error occurred: " . $e->getMessage(); $pageToken = NULL; } } while ($pageToken); return $result; } Но я получил эту ошибку:
Неустранимая ошибка: вызов функции-члена getItems () для не-объекта в C: \ Program Files (x86) \ EasyPHP-5.3.6.1 \ www \ workspace \ CPS \ class \ controller \ CtrlGoogleDrive.php в строке 115
Тебе массив кажется пустым, но это не должно быть:
 Array ( [kind] => drive#fileList [etag] => "WtRjAPZWbDA7_fkFjc5ojsEvE7I/lmSsH-kN3I4LpwShGKUKAM7cxbI" [selfLink] => https://www.googleapis.com/drive/v2/files [items] => Array ( ) ) 
        
    Клиентская библиотека PHP может работать двумя способами и возвращать объекты или ассоциативные массивы, причем последний является значением по умолчанию.
Примеры в документации предполагают, что вы хотите, чтобы библиотека возвращала объекты, иначе вам пришлось бы заменить следующие два вызова:
 $files->getItems() $files->getNextPageToken() 
с соответствующими вызовами, которые вместо этого используют ассоциативные массивы:
 $files['items'] $files['nextPageToken'] 
Еще лучше, вы можете настроить библиотеку, чтобы всегда возвращать объекты, установив
 $apiConfig['use_objects'] = true; 
  Пожалуйста, проверьте файл config.php для получения дополнительных параметров конфигурации: 
http://code.google.com/p/google-api-php-client/source/browse/trunk/src/config.php