Получаете доступ к информации учетной записи службы или извлекаете все документы, к которым предоставлена ​​учетная запись службы c? - PullRequest
0 голосов
/ 07 апреля 2020

Я ищу способ либо

1) Чтение / получение уведомлений о совместном использовании, когда Лист используется совместно с указанной c учетной записью службы

или

* 1006. * 2) Получить список всех листов, к которым предоставлена ​​указанная c учетная запись службы

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

Вместо этого я бы предпочел использовать API для получения либо чего-то вроде события webhook «Общая учетная запись службы», либо возможность чтения всех листов, предоставленных этой учетной записи службы.

Требуется ли для этого GSuite или для этого есть API / webhook?

1 Ответ

1 голос
/ 07 апреля 2020

Ответ:

Да, вы можете получить эту информацию с помощью Drive API.

Дополнительная информация:

Если вы сделаете Drive: files.list вызовите как служебную учетную запись, он вернет файлы диска служебной учетной записи .

Если ваши пользователи обмениваются листами с учетной записью службы, вы можете получить их, сделав вызов API для этого метода с флагом sharedWithMe, установленным в true, и mimeType, установленным в application/vnd.google-apps.spreadsheet в параметре q.

JavaScript пример:

function execute() {
    return gapi.client.drive.files.list({
      "q": "sharedWithMe and mimeType = 'application/vnd.google-apps.spreadsheet'"
    })
        .then(function(response) {
                // Handle the results here (response.result has the parsed body).
                console.log("Response", response);
              },
              function(err) { console.error("Execute error", err); });
  }

Я надеюсь, что это полезно для вас!

Рекомендации:

...