Как использовать Google Drive API для получения списка всех файлов в указанной папке c - PullRequest
0 голосов
/ 04 февраля 2020

Я работаю над более быстрым способом получения данных с Google Диска для целей ввода данных. У меня есть несколько папок с изображениями в них, и мне нужно получить URL каждого изображения, а также ширину и высоту в пикселях (часть свойств каждого изображения).

Я никогда не использовал API Google Drive раньше, поэтому я посмотрел документацию. В JS имеется демонстрационное приложение, в котором перечислены все файлы в базовом каталоге диска. Однако я не знаю достаточно, чтобы изменить это, чтобы запросить файлы в определенной папке.

Идея состоит в том, что пользователь вставляет идентификатор папки Google Диска, а затем программа JavaScript возвращает ссылка, ширина и высота. Затем пользователь может просто вставить это в форму ввода данных.

Это функция для вывода списка файлов:

function listFiles() {
        gapi.client.drive.files.list({
          'pageSize': 10,
          'fields': "nextPageToken, files(id, name)",
        }).then(function(response) {
          appendPre('Files:');
          var files = response.result.files;
          if (files && files.length > 0) {
            for (var i = 0; i < files.length; i++) {
              var file = files[i];
              appendPre(file.name + ' (' + file.id + ')');
            }
          } else {
            appendPre('No files found.');
          }
        });
      }

Я видел, как это сделать с помощью запроса URL GET , но не знаю, как перевести это в gapi.client.drive запрос, как показано выше.

Любая помощь здесь будет полезна.

1 Ответ

0 голосов
/ 04 февраля 2020
  • Чтобы вывести список файлов из определенной папки, необходимо указать параметр q и указать идентификатор папки. Это должно быть примерно так:
'q': "'your-folder-id' in parents"

Конечно, вы можете сохранить 'your-folder'id' в переменной или передать ее в качестве параметра в вашей функции.

  • Вы также можете искать файлы с определенными типами MIME. Например, если вы хотите искать файлы с типом MIME image/jpeg, параметр q должен выглядеть следующим образом:
'q': "'your-folder-id' in parents and mimeType = 'image/jpeg'"
  • Наконец, если вы хотите получить width и height изображений, вы должны указать, что вы хотите получить поле imageMediaMetadata, например:
'fields': "nextPageToken, files(id, name, imageMediaMetadata)"
  • Итак, подводя итог, ваш Вызов API должен выглядеть примерно так:
gapi.client.drive.files.list({
  'pageSize': 10,
  'fields': "nextPageToken, files(id, name, imageMediaMetadata)",
  'q': "'your-folder-id' in parents"
})

Ссылка:

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...