drive.go 716 B

1234567891011121314151617181920212223242526272829303132333435
  1. package main
  2. import (
  3. "fmt"
  4. "log"
  5. "net/http"
  6. "os"
  7. drive "google.golang.org/api/drive/v2"
  8. )
  9. func init() {
  10. registerDemo("drive", drive.DriveScope, driveMain)
  11. }
  12. func driveMain(client *http.Client, argv []string) {
  13. if len(argv) != 1 {
  14. fmt.Fprintln(os.Stderr, "Usage: drive filename (to upload a file)")
  15. return
  16. }
  17. service, err := drive.New(client)
  18. if err != nil {
  19. log.Fatalf("Unable to create Drive service: %v", err)
  20. }
  21. filename := argv[0]
  22. goFile, err := os.Open(filename)
  23. if err != nil {
  24. log.Fatalf("error opening %q: %v", filename, err)
  25. }
  26. driveFile, err := service.Files.Insert(&drive.File{Title: filename}).Media(goFile).Do()
  27. log.Printf("Got drive.File, err: %#v, %v", driveFile, err)
  28. }