如何在 Dart 的 Google Drive GoogleAPIs v3 中设置 `fields` 参数?

How to set the `fields` parameter in the Google Drive GoogleAPIs v3 in Dart?

我正在尝试 return 从 Google Drive API, v3, for Dart. As specified 返回文件资源的一组特定字段,常规 list() 调用 return 仅返回 4 个参数,但是如果我传入字段的查询参数(例如 fields='starred,webContentLink'),我可以 return 返回有关该文件的其他信息。同样,传入 fields='*' returns 返回整个文件资源。这在文档的 'Try this API' 部分工作正常。

现在,使用 Dart 包,设置 $fields: '*' 有效,但设置 $fields: 'starred' 会导致此错误:DetailedApiRequestError(status: 400, message: Invalid field selection starred).

// Assume I have successfully created an API client
g_drive.DriveApi api = new g_drive.DriveApi(client);
// This works
g_drive.FileList fileList = await api.files.list($fields: '*');
// This returns the 400 error
g_drive.FileList fileList = await api.files.list($fields: 'starred');

我进入 actual v3 code 并手动将 _queryParams["fields"] 更改为 starred,但这也不起作用(* 起作用)。为了以防万一,我什至尝试使用额外的引号 'starred',但这导致了同样的错误 (DetailedApiRequestError(status: 400, message: Invalid field selection 'starred'))

有什么明显的我遗漏的东西吗?

下面的修改怎么样?

发件人:

$fields: 'starred'

收件人:

$fields: 'files/starred'

$fields: 'files%2Fstarred'

如果要检索带有星号和文件名的列表,可以使用 $fields: 'files(name,starred)'$fields: 'files(name%2Cstarred)'

参考:

如果这对您没有用,我很抱歉。