我按照这个Github gist上的说明将文件上传到Google。我在我的驱动器上创建了一个文件夹,并与我的服务帐户(电子邮件)共享,但我找不到文件夹上的文件。当我试图列出这些文件时,我会得到如下所示的文件:
file.txt (1HeKXuIxR-ZfPZN5cAGZN9o5eVUOJErdo)
file.txt (16O-nOKhfwvcQTErnPnBp-64cpLCIBT_T)
file.txt (1f99E4wNPOgHxzcNDkqQn0UG6VcxBpwC1)
file.txt (1UywaSPuV0yb09QgnN6DDz679x9COYbAR)
file.txt (1-WUhIniHrC9ANiTA7mWBE4-MyW-57vrY)
file.txt (1nJ1FCSqdyNQWrIcbSXtkwv8GJGCQT6Xl)
file.txt (1tRMbI5WyPc5QeawE6OGObe_b798aPVbV)
file.txt (1yCh0Tn71jdN_EBunGRZ3HnL285zdWaL5)
file.txt (1yKnV19SCET94QteaOXwknVp-9VtEZnxO)
file.txt (1LYh47IoF_gC98mZ68wyOU2K9e8F7qemZ)
file.txt (1P4fJzOCdVD7lCujNvJe9yhfL-B8pMk9S)
file.txt (1cv7xiWxpwlSt6_FMIJigHR2OoPMoevRq)
file.txt (1fWhsrLXAC5XbUj351ENY46d7tgb7HpZT)
file.txt (18wFSwiZEUJHjQVrccsyQcgL24NF5lo5q)
sharedFolder (1cteTTwEmv4fV9p6L_gpIEaCIYCRhdGYo)
file.txt (1TLNaK0K4zDy9nfE3mN1sYtlySn_tzJxR) sharedFolder是我创建的用于与服务帐户共享的文件夹。file.txt是我试图上传的文件。
我在这里错过了什么?
发布于 2022-08-18 10:17:11
好的,首先,我想说我不是一个GO开发人员,我可以阅读您的代码,但没有更多。
您需要了解的是,创建文件是分两部分完成的。
首先,将文件的MetaData设置为请求的post主体,然后上载filestrea。
您需要在这里设置文件名元数据。
f := &drive.File{Name: filename}但是您只设置文件名,这意味着文件可能正在上载到服务帐户根目录。做一个file.list,你应该在那里看到你的文件。
要设置要将文件上传到的目录,需要设置父级值元数据。疯狂的猜测会是这样的。
f := &drive.File{Name: filename, Parents: directoryId}代码
在搜索了一下之后,我发现这似乎设置了parentId
// InsertFile creates a new file in Drive from the given file and details
func 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
}https://stackoverflow.com/questions/73400848
复制相似问题