我正在使用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));
请检查我是否已经为通话制作了完美的网址: 获取https://www.googleapis.com/drive/v3/about?fields=name 但是,仍然存在这个错误。有没有我缺少的参数?
请问,如果API本身存在问题,有人可以告诉我吗?
答案 0 :(得分:8)
在v3中,字段定义已更改,应该是
fields=storageQuota,user/displayName
而不是
fields=name
无论如何,我没有PHP的经验。
价:
https://developers.google.com/drive/v2/reference/about
https://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 &做“试试吧!”。
答案 1 :(得分:1)
获取具有我已经使用过的所有files/*
字段的文件
示例请求https://www.googleapis.com/drive/v3/files?fields=files/ *
答案 2 :(得分:0)
发生此错误是因为 name
不是顶级键。有效的顶级键是:kind
、incompleteSearch
、nextPageToken
和 files
。要仅获取文件名,您必须使用 files/name
获取它。
要获取 nextPageToken
和文件名,您可以执行以下操作:fields=nextPageToken,files/name
。