Существует ли единая конечная точка API для комментариев Google Диска в нескольких файлах? - PullRequest
0 голосов
/ 27 марта 2019

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

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

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

Сейчас я делаю следующее:

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

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

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

1 Ответ

1 голос
/ 27 марта 2019

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

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

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

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

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

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