为了账号安全,请及时绑定邮箱和手机立即绑定

Google Drive SDK 版本 3 中的文件上传

Google Drive SDK 版本 3 中的文件上传

Go
喵喔喔 2021-12-07 10:11:10
我有一些基于https://developers.google.com/drive/v2/reference/files/insert上的以下 Golang 示例的代码。// InsertFile creates a new file in Drive from the given file and detailsfunc InsertFile(d *drive.Service, title string, description string,parentId string, mimeType string, filename string) (*drive.File, error) {             .             .             .   f := &drive.File{Title: title, Description: description, MimeType: mimeType}  if parentId != "" {    p := &drive.ParentReference{Id: parentId}    f.Parents = []*drive.ParentReference{p}  }  r, err := d.Files.Insert(f).Media(m).Do()  if err != nil {    fmt.Printf("An error occurred: %v\n", err)    return nil, err  }  return r, nil}当我切换到版本 3 时,会抛出以下错误。./main.go:125: unknown drive.File field 'Title' in struct literal./main.go:127: undefined: drive.ParentReference./main.go:128: undefined: drive.ParentReference./main.go:131: service.Files.Insert undefined (type *drive.FilesService has no field or method Insert)我知道 Title 应该在第一个错误中更改为 Name,但我不确定 SDK 版本 3 中是什么取代了 drive.ParentReference 或 service.Files.Insert,而且我找不到与链接等效的任何内容以上在 V3 文档中。
查看完整描述

1 回答

?
BIG阳

TA贡献1859条经验 获得超6个赞

值得仔细阅读此处的 Google API go 源代码。您可以看到如何ParentReference 在 v2 API 代码中存在但在 v3 中不存在。API 似乎从 v2 到 v3 发生了显着变化。


从这些更改中推断,以下是上传文件的 v3 等效项的草图:


import "google.golang.org/api/drive/v3"

func InsertFile(d *drive.Service, title string, description string, mimeType string, filename string) (*drive.File, error) {

    f := &drive.File{Name: filename, Description: description, MimeType: mimeType}

    return d.Files.Create(f).do()

}


查看完整回答
反对 回复 2021-12-07
  • 1 回答
  • 0 关注
  • 177 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信