登录
首页 >  Golang >  Go问答

传递 alt=media 给 Google V3 API 的 Export 调用

来源:stackoverflow

时间:2024-02-19 21:42:17 307浏览 收藏

golang学习网今天将给大家带来《传递 alt=media 给 Google V3 API 的 Export 调用》,感兴趣的朋友请继续看下去吧!以下内容将会涉及到等等知识点,如果你是正在学习Golang或者已经是大佬级别了,都非常欢迎也希望大家都能给我建议评论哈~希望能帮助到大家!

问题内容

在 Go 语言的 Google V3 API 中,如何将 alt=media 传递给 Files.Export() 调用? V3 网站没有说明它如何适用于 golang。我只是想将 Google 文档转换为文本文档并将其存储在驱动器中。调用 Files.Export().Do() 会导致错误,要求输入 alt=media。


解决方案


我相信您的目标和情况如下。

  • 您想要使用 golang 的 googleapis 将 google 云端硬盘上的 google 文档下载为文本数据。
  • 您已经能够使用 drive api 下载该文件。

修改点:

  • 不幸的是,alt=media 不能用于 the method of "Files: export"alt=media 用于“files: get”方法。 Ref
  • 要将 google 云端硬盘上的 google 文档作为文本数据下载,需要使用“文件:导出”方法。顺便说一下,当您要下载除 google 文档文件之外的文件(文档、电子表格、幻灯片等)时,请使用“文件:获取”的方法。

当以上几点反映到您的脚本中时,它会变成如下所示。

修改后的脚本:

documentID := "###" // Please set the Document ID.
mimeType := "text/plain"
filename := "sample.txt"

srv, err := drive.New(client)
if err != nil {
    log.Fatalf("Error: %v", err)
}
res, err := srv.Files.Export(documentID, mimeType).Download()
if err != nil {
    log.Fatalf("Error: %v", err)
}
file, err := os.Create(filename)
if err != nil {
    log.Fatalf("Error: %v", err)
}
defer file.Close()
_, err = io.Copy(file, res.Body)
  • 在此示例脚本中,假设脚本的 client 可用于从 google 云端硬盘下载文件。请小心这一点。
  • 运行此脚本时,documentid 的 google 文档将导出为 filename 的文本文件。

参考文献:

终于介绍完啦!小伙伴们,这篇关于《传递 alt=media 给 Google V3 API 的 Export 调用》的介绍应该让你收获多多了吧!欢迎大家收藏或分享给更多需要学习的朋友吧~golang学习网公众号也会发布Golang相关知识,快来关注吧!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>