Google Drive API v3:无效的字段选择


Google Drive API v3: Invalid field selection

我使用Google Drive API v3访问有关驱动器的信息,如空间配额。

并且,无论我做什么,我都被这个错误卡住了:

Fatal error: Uncaught exception 'Google_Service_Exception' with message 'Error calling **GET https://www.googleapis.com/drive/v3/about?fields=name**: (400) Invalid field selection name' in /var/webs/includes/google-api-php-client/src/Google/Http/REST.php:110 
Stack trace:
#0 /var/webs/includes/google-api-php-client/src/Google/Http/REST.php(62): Google_Http_REST::decodeHttpResponse(Object(Google_Http_Request), Object(Google_Client))
#1 [internal function]: Google_Http_REST::doExecute(Object(Google_Client), Object(Google_Http_Request))
#2 /var/webs/includes/google-api-php-client/src/Google/Task/Runner.php(174): call_user_func_array(Array, Array)
#3 /var/webs/includes/google-api-php-client/src/Google/Http/REST.php(46): Google_Task_Runner->run()
#4 /var/webs/includes/google-api-php-client/src/Google/Client.php(593): Google_Http_REST::execute(Object(Google_Client), Object(Google_Http_Request))
#5 /var/webs/includes/goog in /var/webs/includes/google-api-php-client/src/Google/Http/REST.php on line 110

$googleClient = $this->getClient();
$googleClient->setAccessToken($accessToken);
$googleDrive = new Google_Service_Drive($googleClient);
//fields can be found here: https://developers.google.com/drive/v3/web/migration#fields
$optParams = array(
    'fields' => 'name'
);
print_r($googleDrive->about->get($optParams));

请检查我是否已经为呼叫创建了一个完美的URL:得到https://www.googleapis.com/drive/v3/about?fields=name但是,还是有这个错误。我是否遗漏了什么参数?

请,谁能告诉我是否有问题与API本身?

在v3中字段的定义已经改变,它应该是

fields=storageQuota,user/displayName

代替

fields=name

无论如何,我没有PHP的经验。

裁判:
https://developers.google.com/drive/v2/reference/abouthttps://developers.google.com/drive/v3/reference/about


你可以自己检查所有可用的字段:现在这些是我找到的字段:appInstalled, exportFormats, folderColorPalette, importFormats, kind, maxImportSizes, maxUploadSize, storageQuota & user .

如果您需要检查哪些字段是允许的,请转到https://developers.google.com/drive/v3/reference/about/get &

用于获取包含所有可能字段的文件,我使用files/*

请求示例https://www.googleapis.com/drive/v3/files?fields=files/*

出现此错误是因为name不是顶级键。有效的顶级键是:kindincompleteSearchnextPageTokenfiles。要获取文件名,您必须使用files/name来获取它。

要获取nextPageToken和文件名,您可以执行以下操作:fields=nextPageToken,files/name .