2016-04-02 2 views
0

Я назвал файлы дисков с очень специфическим соглашением, чтобы облегчить их поиск из приложения. Функция поиска в 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); 
    } 
    }); 
}; 
+0

Я обнаружил, что, когда я пользуюсь Google API Explorer, этот запрос * работает *. Заставляет его чувствовать себя как проблема конфигурации с моей конфигурацией проекта Google на консоли. – Greg

+0

^^ это получилось * не так, но это привело меня к моему ответу ниже. – Greg

+0

Я получаю 'ошибка 400, недействительный запрос', когда вы вводите свое' имя содержит 'ABC-123'' в поле q https://developers.google.com/drive/v2/reference/files/list –

ответ

0

Основная причина оказалась величиной корпуса. По причинам, которые не ясны из документации, использование corpus = domain мешает поиску работать.

Извлечение corpus: 'domain', из приведенного выше примера кода решает проблему.

Файлы, которые я ищу, очень много в моем домене. Я не уверен, изменилось ли это поведение в последнее время или добавлено это ограничение в код и просто не помню этого.

Вперед.

Смежные вопросы