1// Copyright 2017 Google LLC.
2// Use of this source code is governed by a BSD-style
3// license that can be found in the LICENSE file.
4
5package main
6
7import (
8	"fmt"
9	"log"
10	"net/http"
11	"os"
12
13	drive "google.golang.org/api/drive/v2"
14)
15
16func init() {
17	registerDemo("drive", drive.DriveScope, driveMain)
18}
19
20func driveMain(client *http.Client, argv []string) {
21	if len(argv) != 1 {
22		fmt.Fprintln(os.Stderr, "Usage: drive filename (to upload a file)")
23		return
24	}
25
26	service, err := drive.New(client)
27	if err != nil {
28		log.Fatalf("Unable to create Drive service: %v", err)
29	}
30
31	filename := argv[0]
32
33	goFile, err := os.Open(filename)
34	if err != nil {
35		log.Fatalf("error opening %q: %v", filename, err)
36	}
37	driveFile, err := service.Files.Insert(&drive.File{Title: filename}).Media(goFile).Do()
38	log.Printf("Got drive.File, err: %#v, %v", driveFile, err)
39}
40