Google Cloud Client Libraries for Go.
Apache License 2.0
3172
260
1118

Google Cloud Client Libraries for Go

Go Reference

Go packages for Google Cloud Platform services.

import "cloud.google.com/go"

To install the packages on your system, do not clone the repo. Instead:

  1. Change to your project directory:

    cd /my/cloud/project
  2. Get the package you want to use. Some products have their own module, so it's best to go get the package(s) you want to use:

    $ go get cloud.google.com/go/firestore # Replace with the package you want to use.
    

NOTE: Some of these packages are under development, and may occasionally make backwards-incompatible changes.

Supported APIs

For an updated list of all of our released APIs please see our reference docs.

Go Versions Supported

Our libraries are compatible with at least the three most recent, major Go releases. They are currently compatible with:

  • Go 1.19
  • Go 1.18
  • Go 1.17
  • Go 1.16
  • Go 1.15

Authorization

By default, each API will use Google Application Default Credentials for authorization credentials used in calling the API endpoints. This will allow your application to run in many environments without requiring explicit configuration.

client, err := storage.NewClient(ctx)

To authorize using a JSON key file, pass option.WithCredentialsFile to the NewClient function of the desired package. For example:

client, err := storage.NewClient(ctx, option.WithCredentialsFile("path/to/keyfile.json"))

You can exert more control over authorization by using the golang.org/x/oauth2 package to create an oauth2.TokenSource. Then pass option.WithTokenSource to the NewClient function: snip:# (auth-ts)

tokenSource := ...
client, err := storage.NewClient(ctx, option.WithTokenSource(tokenSource))

Contributing

Contributions are welcome. Please, see the CONTRIBUTING document for details.

Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms. See Contributor Code of Conduct for more information.

Links

Contributors

jba
codyoss
jadekler
yoshi-automation
release-please[bot]
shollyman
rakyll
yoshi-code-bot
dsymonds
noahdietz
tritone
hongalex
tmdiep
mcgreevy
olavloite
pongad
tbpg
okdave
quartzmo
hengfengli
garye
BrennaEpp
odeke-em
renovate-bot
broady
crwilcox
telpirion
nolanmar511
enocom
0xSage
gmlewis
rahul2393
bradfitz
jqll
aalexand
AlisskaPie
bcoe
cojenco
tmatsuo
igorbernstein2
zombiezen
alvarowolfx
shantuo
mohanli-ml
ccalok
kalyanac
fruit-steamers
frankyn
daniel-sanche
danielhultqvist
larryxiao
saicheems
neglect-yp
poy
amchiclet
chingor13
maksharma
rameshdharan
georgiyekkert
kamalaboulhosn
kolea2
jacobsa
adrianajg
alexoneill
sneakybueno
sryoya
minherz
namusyaka
acmp1
cshaff0524
dlebech
humbertowastaken
hegemonic
jimfulton
karalabe
nktks
vkedia
yogesh-desai
BlueMonday
billyjacobson
yfuruyama
eliben
nightlyone
kimihrr
178inaba
tchap
dragonsinth
harshachinta
toga4
110y
gcf-owl-bot[bot]
gottskalk
skuruppu
adirastogi
ahmetb
andyrzhao
benjaminjkraft
coryan
Kunde21
dhowden