1// Copyright 2019 Google LLC 2// 3// Licensed under the Apache License, Version 2.0 (the "License"); 4// you may not use this file except in compliance with the License. 5// You may obtain a copy of the License at 6// 7// http://www.apache.org/licenses/LICENSE-2.0 8// 9// Unless required by applicable law or agreed to in writing, software 10// distributed under the License is distributed on an "AS IS" BASIS, 11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12// See the License for the specific language governing permissions and 13// limitations under the License. 14 15package transport_test 16 17import ( 18 "context" 19 "log" 20 21 "google.golang.org/api/option" 22 "google.golang.org/api/transport" 23) 24 25func Example_applicationDefaultCredentials() { 26 ctx := context.Background() 27 28 // Providing no auth option will cause NewClient to look for Application 29 // Default Creds as specified at https://godoc.org/golang.org/x/oauth2/google#FindDefaultCredentials. 30 // 31 // Note: Given the same set of options, transport.NewHTTPClient and 32 // transport.DialGRPC use the same credentials. 33 c, _, err := transport.NewHTTPClient(ctx) 34 if err != nil { 35 log.Fatal(err) 36 } 37 _ = c // Use authenticated client. 38} 39 40func Example_withCredentialsFile() { 41 ctx := context.Background() 42 43 // Download service account creds per https://cloud.google.com/docs/authentication/end-user. 44 // 45 // Note: Given the same set of options, transport.NewHTTPClient and 46 // transport.DialGRPC use the same credentials. 47 c, _, err := transport.NewHTTPClient(ctx, option.WithCredentialsFile("/path/to/service-account-creds.json")) 48 if err != nil { 49 log.Fatal(err) 50 } 51 _ = c // Use authenticated client. 52} 53