Created
June 24, 2016 05:32
-
-
Save sinmetal/037318ddb0fbab449c54eb063c02a995 to your computer and use it in GitHub Desktop.
example google.DefaultClient()
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package gcs_sample | |
import ( | |
"net/http" | |
"fmt" | |
"google.golang.org/appengine" | |
"google.golang.org/appengine/log" | |
"golang.org/x/oauth2/google" | |
storage "google.golang.org/api/storage/v1" | |
) | |
func init() { | |
http.HandleFunc("/", handler) | |
} | |
func handler(w http.ResponseWriter, r *http.Request) { | |
c := appengine.NewContext(r) | |
projectID := "cp300demo1" | |
bucketName := "hoge" | |
client, err := google.DefaultClient(c, storage.DevstorageFullControlScope) | |
if err != nil { | |
log.Errorf(c, "Unable to get default client: %v", err) | |
} | |
service, err := storage.New(client) | |
if err != nil { | |
log.Errorf(c, "Unable to create storage service: %v", err) | |
} | |
// If the bucket already exists and the user has access, warn the user, but don't try to create it. | |
if _, err := service.Buckets.Get(bucketName).Do(); err == nil { | |
fmt.Printf("Bucket %s already exists - skipping buckets.insert call.", bucketName) | |
} else { | |
// Create a bucket. | |
if res, err := service.Buckets.Insert(projectID, &storage.Bucket{Name: bucketName}).Do(); err == nil { | |
fmt.Printf("Created bucket %v at location %v\n\n", res.Name, res.SelfLink) | |
} else { | |
log.Errorf(c, "Failed creating bucket %s: %v", bucketName, err) | |
} | |
} | |
// List all buckets in a project. | |
if res, err := service.Buckets.List(projectID).Do(); err == nil { | |
fmt.Println("Buckets:") | |
for _, item := range res.Items { | |
fmt.Fprintf(w, "%s\n", item.Id) | |
} | |
fmt.Println() | |
} else { | |
log.Errorf(c, "Buckets.List failed: %v", err) | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment