当前,我想使用.net框架中的Google.Apis.Drive.v3包在Google驱动器中搜索文件。但是,当我用(fullText contains 'pdf') or (mimeType = 'application/vnd.google-apps.document')
填充Files.List()。Q时,它将引发GoogleApiException:Google.Apis.Requests.RequestError无效值[400]错误[Message [无效值]位置[q-参数]原因[无效]域[全局]]。
代码段为:
var service = new DriveService(new BaseClientService.Initializer() { HttpClientInitializer = credential });
var listRequest = service.Files.List();
listRequest.Q = "(fullText contains 'pdf') or (mimeType = 'application/vnd.google-apps.document')";
var fileList = listRequest.Execute();
我还尝试了here(在右侧的Try this API
面板中)的API。
当我用q
填充(fullText contains 'pdf') or (mimeType = 'application/vnd.google-apps.document')
参数,然后单击Execute
按钮时。它给出了相同的错误消息。
但是当我在查询or
中将and
替换为(fullText contains 'pdf') and (mimeType = 'application/vnd.google-apps.document')
并再次单击Execute
时,它成功了,没有错误!。
使用fullText
运算符将mimeType
字段和or
字段组合在一起时,似乎会出现此问题。
这真是奇怪的行为。也许是Google API的错误。 Here是github中的一个相关问题。
有人有什么主意吗?