Я назвал файлы дисков с очень специфическим соглашением, чтобы облегчить их поиск из приложения. Функция поиска в API-интерфейсе v3 (files.list) работает уже три недели назад и с тех пор перестала работать.Поведение файлов.list, похоже, изменилось
Например, используя следующие файлы,
"ABC-123 шаблон", "ABC-123 Гого", "ABC-123 бобо"
... позволяет мне искать с помощью API с
name contains 'ABC-123'
Этот поиск должен возвращать все три файла. Вместо этого он не возвращает никаких результатов. Обратите внимание, что один и тот же запрос в веб-интерфейсе Drive успешный, и соглашение соответствует правилам, изложенным в documentation.
Это работало, и теперь оно остановилось. Изменен ли API поиска ?! Я могу найти другие файлы с реализацией, а не те, которые используют соглашение об именах.
Вот полный фрагмент кода запроса в NodeJS.
Google.prototype.findFiles = function(file_prefix, callback) {
var service = google.drive('v3');
service.files.list({
q: "name contains '" + file_prefix + "'",
fields: 'nextPageToken, files(id, name)',
spaces: 'drive',
corpus: 'domain',
auth: this.auth
}, function(err, response) {
if(err) {
console.log('Error : findFiles failed. ' + err);
callback(err);
} else {
callback(null,response.files);
}
});
};
Я обнаружил, что, когда я пользуюсь Google API Explorer, этот запрос * работает *. Заставляет его чувствовать себя как проблема конфигурации с моей конфигурацией проекта Google на консоли. – Greg
^^ это получилось * не так, но это привело меня к моему ответу ниже. – Greg
Я получаю 'ошибка 400, недействительный запрос', когда вы вводите свое' имя содержит 'ABC-123'' в поле q https://developers.google.com/drive/v2/reference/files/list –