0
Я работаю с API-интерфейсом google с PHP. В основном я создаю учетные данные и застрял в точке, где я хочу перечислить файлы файлов google. Вот мой код, который я пытаюсь.Невозможно получить список файлов с Google Drive с помощью php
<?php
require_once realpath(dirname(__FILE__) . '/gac/src/Google/autoload.php');
$client = new Google_Client();
session_start();
$client->setClientId('xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx');
$client->setClientSecret('xxxxxxxxxxxxxxxxxxxxxxxxxxxx');
$client->setRedirectUri('http://www.my-website-name.com/drive_test');
$client->setScopes(array('https://www.googleapis.com/auth/drive.file'));
if (isset($_GET['code']) || (isset($_SESSION['access_token']) && $_SESSION['access_token'])) {
if (isset($_GET['code'])) {
$client->authenticate($_GET['code']);
$_SESSION['access_token'] = $client->getAccessToken();
} else
$client->setAccessToken($_SESSION['access_token']);
$service = new Google_Service_Drive($client);
echo "<pre>";
$all_files = "";
$all_files = retrieveAllFiles($service);
print_r($all_files);
die;
} else {
$authUrl = $client->createAuthUrl();
header('Location: ' . $authUrl);
exit();
}
/**
* Retrieve a list of File resources.
*
* @param Google_Service_Drive $service Drive API service instance.
* @return Array List of Google_Service_Drive_DriveFile resources.
*/
function retrieveAllFiles($service) {
$result = array();
$pageToken = NULL;
do {
try {
$parameters = array();
if ($pageToken) {
$parameters['pageToken'] = $pageToken;
}
$files = $service->files->listFiles($parameters);
$result = array_merge($result, $files->getItems());
$pageToken = $files->getNextPageToken();
} catch (Exception $e) {
print "An error occurred: " . $e->getMessage();
$pageToken = NULL;
}
} while ($pageToken);
return $result;
}
?>
Я получаю такой вывод.
Array
(
)
Пожалуйста, помогите мне решить эту проблему. Спасибо.
только после этой строки '$ файлов = $ сервис-> files-> listFiles ($ параметров);', попробуйте 'var_dump ($ files);' и затем 'var_dump ($ files-> getItems())' и посмотреть, что выводит? – atoms
@atom Я получаю что-то вроде этого http://pastebin.com/SkLbK5dD –
ну, похоже, он связан. Вам нужно предоставить доступ к файлам до их просмотра? – atoms