Как перечислить изменения в определенной папке с помощью Javascript API Google Диска

#javascript #google-drive-api

Вопрос:

Я использую API изменений:список для перечисления изменений.

https://developers.google.com/drive/api/v3/reference/changes/list

Но результаты включают все папки на моем диске. Я хочу отфильтровать результаты для определенной папки. В документации я не вижу параметра «q» для «изменений:список», как в «Файлах:Список».

Есть ли способ отфильтровать результаты с помощью параметра API? или мне нужно сделать это в своем коде, используя «идентификатор папки», который я уже знаю?

Это код, который я использую:

 var request = gapi.client.drive.changes.list({
        //The collection works by providing the current state of each item, if and only if the item has changed since a given point in time.
        //point in history to retrive changes, we can saved this to know if there are changes
        pageToken: '820167',

        
        //test parameters that are not working
        //q: "'12pDb31bRw7p3pfJoF_N6VncDqISSY1W4' in parents",
        //q: 'trashed=false and "'  folderId  '" in parents',

        fields: '*',
        pageSize:  5,
        orderby:'title',
        maxResults: 50
      });

      request.execute(function (resp) {
        console.log(resp);
      });
 

Ответ №1:

Я мог бы предложить вместо этого использовать API активности диска, который позволит вам запрашивать изменения в папке. Вам нужно будет указать этот параметр ancestorName=items/${folderId} . Двигательная активность также даст вам гораздо более глубокое представление о фактической деятельности, которая имела место.

Ресурс изменения диска довольно минимален. Он предназначен для обеспечения очень быстрого просмотра изменений на всем диске / общем диске. Ценность, которую он добавляет, — это возможность настроить часы для push-уведомлений-они могут быть использованы для запуска дальнейших действий.

Ответ №2:

К сожалению, то, что вы хотите, не может быть достигнуто, так как Changes: list метод возвращает список изменений для пользователя или общего диска.

Поэтому, если вы хотите получить изменения для определенной папки, вам придется впоследствии программно отфильтровать их в своем коде.

Вы также можете отправить запрос на функцию отслеживания проблем Google здесь и предоставить все необходимые сведения.

Ссылка