Не удается загрузить файлы на 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
}
Другие вопросы по тегам