使用服务帐户密钥列出来自Google驱动器的公共共享文件,但未获取公共文件

阿比塔克

我在使用服务帐户密钥和使用drive.files.list API进行编码时遇到了问题,尽管我已经公开共享了所有文件,但我无法获取文件

const { google } = require('googleapis');
const drive = google.drive('v3');
const jwtClient = new google.auth.JWT(
    client_email,
    null,
    private_key,
    ['https://www.googleapis.com/auth/drive']
);

jwtClient.authorize(function (err, tokens) {
    if (err) {
        console.log(err);
        return;
    } else {
        console.log("Successfully connected!");
    }
});


// List Drive files.
drive.files.list({
    auth: jwtClient,
    // fields: "files",
    includeRemoved: false,
    spaces: 'drive'
}, (listErr, resp) => {
    if (listErr) {
        console.log(listErr);
        return;
    }
    console.log("Result ========>", resp.data.files)
});
  • 结果,尽管我公开共享了所有文件并赋予了所有人编辑权限,但我什么也没得到。
  • 在服务帐户中,我启用了Google API并授予了qwner权限。
  • 我希望所有公开共享的文件都列出。
  • 我在代码中错的地方。

请帮助我。谢谢 :)

戴姆敦

服务帐户不是您,它是虚拟用户。像任何用户一样,files.list将仅返回其有权访问的文件。那是它创建的文件和某人与它共享的文件。人们可能会认为每个人都可以访问公共文件。如果files.list返回了设置为public的Google驱动器上所有文件的列表,那将是一个巨大的列表,并且不是很有用。

通过将文件设置为公开(如果您具有文件ID),您将可以使用API​​密钥查看该文件。您将无法对其进行编辑,但可以执行一个文件。

采取服务帐户的电子邮件地址,然后转到Google云端硬盘,就可以像使用任何其他用户一样与服务帐户共享包含文件的文件夹。如果需要,您也可以与服务帐户单独共享每个文件。然后尝试做一个files.list。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

下载Google驱动器文件而不与服务帐户共享

谷歌驱动器列出公共共享文件夹中的文件

如何使用服务帐户将共享Google驱动器中的文件移至垃圾箱

从公共网络共享驱动器中获取所有子文件夹

Google GMail API服务帐户以列出来自多个帐户的电子邮件

Java 8:列出来自多个路径的文件

列出来自browserify捆绑包的文件

使用命令行仅列出来自 SVN 的特定类型的文件

无法使用Java访问服务帐户Google驱动器中文件的getWebContentLink()属性

驱动器api-根据公共文件链接获取电子邮件

使用Colab笔记本获取Google驱动器中文件的共享链接

使用Intent从Google驱动器获取文件

如何解决不足的文件权限创建Google服务帐户团队驱动器的错误?

列出来自UNIX中给定目录的文本文件

列出来自Android App的软件包中的文件返回null

在Python中列出来自多个目录的文件的自动化方法

使用托管服务帐户将文件从IIS写入网络驱动器

如何使用 PHP 列出来自 Google 相册的公开相册和照片(从 Picasa 迁移)

如何通过API在Google驱动器中获取“与我共享”文件?

使用 php、ajax、js 列出来自 mysql 的数据

使用管理员帐户和公共密钥登录Windows 10 OpenSSH服务器

如何使用python在共享的Google驱动器中上传子文件夹?

使用JCIFS性能问题从本地驱动器复制文件以共享驱动器

如何使用 google 脚本将使用 ID 的公共 google 文件/文件夹导入 gdrive 帐户?

如何使用Google脚本获取驱动器中文件夹的文件夹ID?

Google Apps Script - 使用文件名获取驱动器中文件的 URL

共享驱动器/文件夹

使用Java中的服务帐户将数据上传到共享驱动器

使用Google Drive SDK获取文件的公共链接