我在使用 Drive SDK 时遇到了一些问题。我正在尝试将我的 Google Drive 帐户中的所有文件导入我的应用程序。我觉得我正在做 Drive SDK 文档告诉我做的所有事情,但是每次我去抓取文件时,我都会返回一个空数组......并且没有错误。我使用 SDK 作为服务帐户,所以设置有点不同。顺便说一句,我的网站正在运行 drupal。这是我的代码:
1)首先,我构建服务(这是一个名为的函数的主体buildService():
$key = PATH_TO_KEY_FILE;
if (file_exists($key)) {
    try {
        $auth = new Google_AssertionCredentials(
                        SERVICE_ACCOUNT_EMAIL,
                        array(DRIVE_SCOPE),
                        $key);
        $client = new Google_Client();
        $client->setUseObjects(true);
        $client->setAssertionCredentials($auth);
    } catch (Exception $e) {
        print "An error occurred: " . $e->getMessage();
    }
    return new Google_DriveService($client);
}
else{
   return "can't find key file';
}
这个块完全没问题,我从 Google_DriveService 得到一个对象
2)另一边,我抓住服务对象,并尝试列出驱动器文件:
$parameters = array();
$service = buildService();  //my function from step 1
$files = retrieveAllFiles($service, $parameters);
3)这是retrieveAllFiles函数(直接来自SDK文档):
function retrieveAllFiles($service, $parameters) {
    $result = array();
    $pageToken = NULL;
    do {
        try { 
            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;
} 
正如我所说,我得到了一个空结果,没有错误,什么都没有。
关于为什么我的结果为空的任何想法?
非常感谢任何帮助或建议。