返回顶部
首页 > 资讯 > 后端开发 > GO >如何使用 Google Drive API(v3) 获取目录中所有文件的列表
  • 550
分享到

如何使用 Google Drive API(v3) 获取目录中所有文件的列表

2024-04-05 00:04:54 550人浏览 泡泡鱼
摘要

本篇文章向大家介绍《如何使用 Google Drive api(v3) 获取目录中所有文件的列表》,主要包括,具有一定的参考价值,需要的朋友可以参考一下。问题内容我一直坚持使用必须返回目录中所有文件

本篇文章向大家介绍《如何使用 Google Drive api(v3) 获取目录中所有文件的列表》,主要包括,具有一定的参考价值,需要的朋友可以参考一下。

问题内容

我一直坚持使用必须返回目录中所有文件的列表的函数(在本例中目录是“root”)。当我调用这个函数时,它返回只有我用我的程序添加的文件(这个程序也可以将文件上传到google drive),而不是所有文件。它还显示了我删除的文件:/。我做错了什么? 这个函数我是从 google drive api quickstart 复制过来的

service, err := getService()
    if err != nil {
        log.Fatalf("Unable to retrieve Drive client: %v", err)
    }

    r, err := service.Files.List().Q("'root' in parents").Do()
    if err != nil {
        log.Fatalf("Unable to retrieve files: %v", err)
    }
    fmt.Println("Files:")
    if len(r.Files) == 0 {
        fmt.Println("No files found.")
    } else {
        for _, i := range r.Files {
            fmt.Printf("%v (%vs )\n", i.Name, i.Id)
        }
    }


解决方案


  • 您想要检索根文件夹下的所有文件。
  • 您希望使用 google-api-go-client 和 golang 来实现此目的。
  • 您已经使用 drive api 获取和输入了 google 云端硬盘的值。

如果我的理解是正确的,这个答案怎么样?请将此视为几个可能答案之一。

问题和解决方法:

的情况来看,当我调用这个函数时,它返回只有我用我的程序添加的文件(这个程序也可以将文件上传到google drive),而不是所有文件。,我认为你的范围可能包括https ://www.googleapis.com/auth/drive.file。当使用 Https://www.googleapis.com/auth/drive.file 作为范围时,仅检索应用程序创建的文件。

为了检索根文件夹下的所有文件,请使用以下范围。

  • https://www.googleapis.com/auth/drive
  • https://www.googleapis.com/auth/drive.readonly
  • https://www.googleapis.com/auth/drive.metadata.readonly
  • https://www.googleapis.com/auth/drive.metadata

如果只想检索文件列表,可以使用 .readonly 的范围。

修改后的脚本:

从您的问题中,我可以注意到您正在将 google-api-go-client 与 golang 和 go quickstart 一起使用。既然如此,下面的修改如何?

如果范围内包含drive.drivefilescope,请修改如下。

从:
config, err := google.configfromJSON(b, drive.drivefilescope)
到:
config, err := google.configfromjson(b, drive.drivemetadatascope)

config, err := google.ConfigFromJSON(b, drive.DriveReadonlyScope)
  • 如果您还想上传文件,请使用 drive.drivescope

注意:

  • 修改范围时,请删除 tokfile := "token.json"token.json 文件。请运行该脚本并再次授权。这样,修改的范围就会反映到访问令牌和刷新令牌。请小心这一点。

参考文献:

  • google-api-go-client
  • Go Quickstart
  • Files: list

如果我误解了您的问题并且这不是您想要的方向,我深表歉意。

到这里,我们也就讲完了《如何使用 Google Drive API(v3) 获取目录中所有文件的列表》的内容了。个人认为,基础知识的学习和巩固,是为了更好的将其运用到项目中,欢迎关注编程网公众号,带你了解更多关于的知识点!

您可能感兴趣的文档:

--结束END--

本文标题: 如何使用 Google Drive API(v3) 获取目录中所有文件的列表

本文链接: https://lsjlt.com/news/596400.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作