Существует ли единая конечная точка API для комментариев Google Диска в нескольких файлах?

#javascript #google-drive-api

#javascript #google-drive-api

Вопрос:

Я создаю небольшое приложение, которое, помимо прочего, отображает хронологическую ленту всех комментариев и ответов к файлам в их рабочей учетной записи Google Drive. Позже я создам несколько пользовательских фильтров, чтобы, например, пользователи могли видеть только комментарии и ответы, в которых они были @упомянуты.

Теперь, чтобы получить эти данные, есть конечная точка Google Drive API для получения списка файлов диска для данного пользователя, например: GET https://www.googleapis.com/drive/v3/files?orderBy=modifiedTime descamp;pageSize=20amp;fields=*

Также существует конечная точка Google Drive API для получения списка комментариев к данному файлу. Пример: GET https://www.googleapis.com/drive/v3/files/fileId/comments . Каждый комментарий имеет replies свойство с массивом ответов на этот комментарий.

Прямо сейчас я делаю следующее:

  • Получение 20 последних файлов Google Диска пользователя (первая конечная точка)
  • Для каждого из 20 файлов диска получаем список комментариев для этого файла (вторая конечная точка), помещаем его в массив commentsAndReplies.
  • Для каждого из (обычно 30-40 всего комментариев) запустите forEach, чтобы получить все ответы на комментарий, помещая каждый ответ в массив commentsAndReplies .

Это кажется немного чрезмерным для простого варианта использования, подобного моему. Я просмотрел документацию и не смог найти ничего лучшего для своего варианта использования — например, я думал, что метаданные отдельных файлов на Google Диске могут быть comments свойством, поэтому мне нужно выполнить только один вызов fetch — но не тут-то было. Удачи.

Есть ли какая-то конечная точка Google Диска, которой мне не хватает, чтобы быть более эффективной, или какой-то другой способ, которым я мог бы быть более эффективным? Я собираюсь попытаться включить некоторые проверки разных типов при перезагрузке, чтобы мне не приходилось выполнять все эти запросы API каждый раз, когда пользователь перезагружается (я включил некоторую пакетную обработку с использованием map и Promise.all, чтобы ограничить свои запросы API, но я все еще иногда получаю ошибки ограничения скорости API 403), но я чувствую, что, возможно, я что-то упускаю.

Ответ №1:

Существует ли единая конечная точка API для комментариев Google Диска в нескольких файлах?

Нет, это не так. Большая часть Google Диска основана на файлах, поэтому все взаимодействия должны включать файл, в котором вы хотели бы видеть данные.

Например, file.comments

 https://www.googleapis.com/drive/v3/files/**fileId**/comments
  

Чтобы просмотреть комментарии к файлу, вы должны отправить API файл, к которому хотите просмотреть комментарии.