我成功解决了我的问题:List folders which has not a custom property in Google Drive API v3 and .NET
现在,我有其他挑战。
我有一个名为 imdb
的自定义属性,它具有任意值(非空)。
我试图弄清楚如何检索列表中具有 imdb
属性的项目(无论 value
有什么)。我不想获取整个完整列表并一一检查 Properties
字典(我有 300-320 个项目,并且还在不断增加)。
request.Q = $"mimeType='application/vnd.google-apps.folder' and properties has {{ key='imdb' and value='/*WHAT SHOULD DO ?*/' }}";
似乎只有同时提供组件 key
和 value
时查询才有效,否则我也会得到 400
我也尝试过:
request.Q = $"mimeType='application/vnd.google-apps.folder' and properties has {{ key='imdb' and value!='' }}";
但它给了我 400(错误的请求),似乎 value!=''
无效
请求
对象是:
var request = dataService.Files.List();
和
...
dataService = new DriveService(new BaseClientService.Initializer
{
HttpClientInitializer = credential,
ApplicationName = "XXXX"
});
有什么建议吗?
最佳答案
目前,如果不指定确切值,则无法查询属性
此问题正在 investigated由谷歌。
因此,您不能使用 not
、contains
或其他对查询有帮助的运算符。
您所能做的(不是特别有效)就是
- 列出所有指定
字段
到文件/属性
的文件 - 手动过滤列表以获取
files/properties
不为空的结果 - 将过滤后的列表与以下结果进行比较
request.Q = $"'{id}' 在父级中并且(属性具有 {{ key='xxx' 和 value='' }} 或属性具有 {{ key='xxx' 和 value='' }})";
我建议您对现有问题发表评论,以提醒 Google 该问题尚未实现。
关于google-drive-api - 根据 Google Drive API v3 和 .NET 中的属性键列出项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63598266/