В настоящее время я хочу искать файлы на диске Google, используя пакет Google.Apis.Drive.v3 в .net framework. Но когда я заполняю Files.List (). Q значением (fullText contains 'pdf') or (mimeType = 'application/vnd.google-apps.document')
, он выдаст исключение GoogleApiException: Google.Apis.Requests.RequestError Недопустимое значение [400] Ошибки [Сообщение [Недопустимое значение] Местоположение [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();
Я также попробовал API в здесь (в правой панели Try this 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. Здесь является связанной проблемой в github.
У кого-нибудь есть идеи?