Не удается загрузить файлы на Google Диск
Я следовал инструкциям в этом списке Github , чтобы загружать файлы на 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
это файл, который я пытаюсь загрузить.
Что мне здесь не хватает?
1 ответ
Хорошо, для начала я хочу сказать, что я не разработчик GO, я могу читать ваш код, но не более того.
Вам нужно понять, что создание файла состоит из двух частей.
сначала вы устанавливаете метаданные для файла в качестве тела сообщения запроса, а затем загружаете файл.
вы, кажется, устанавливаете метаданные имени файла здесь
f := &drive.File{Name: filename}
но вы устанавливаете только имя файла, что означает, что файл, вероятно, загружается в корневой каталог служебных учетных записей. сделайте file.list, и вы должны увидеть там свои файлы.
Чтобы установить каталог, в который вы хотите загрузить файл, вам нужно установить родительское значение метаданных. дикая догадка будет что-то вроде этого.
f := &drive.File{Name: filename, Parents: directoryId}
код
после небольшого поиска в Google я нашел это, которое, кажется, устанавливает 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
}