首页 > 解决方案 > 与服务帐户信息共享或检索与特定服务帐户共享的所有文档?

问题描述

我正在寻找一种方法

1) 每当与特定服务帐户共享工作表时读取/检索共享通知

或者

2)获取与特定服务帐户共享的所有表格的列表

背景:用户复制现有的工作表模板,修改其内容并与我的服务帐户电子邮件共享,以便我可以以编程方式检索工作表数据。这仍然需要用户在共享后将生成的共享链接输入到我的后端。

相反,我更喜欢使用 API 来接收类似“与服务帐户共享”的 webhook 事件或读取与此服务帐户共享的所有表格的选项。

这是否需要 GSuite,或者是否有 API/webhook 来实现这一点?

标签: google-sheetsservice-accounts

解决方案


回答:

是的,您可以使用 Drive API 检索此信息。

更多信息:

如果您以Drive: files.list服务帐户的身份拨打电话,它将返回服务帐户驱动器的文件。

如果您的用户正在与服务帐户共享表格,您可以通过对该方法进行 API 调用并将sharedWithMe标志设置为 true 并在参数中mimeType设置为来检索它们。application/vnd.google-apps.spreadsheetq

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); });
  }

参考:


推荐阅读