我在谷歌云上使用服务帐户。出于某种原因,我想在 golang 中以编程方式获取访问令牌。我可以gcloud auth application-default print-access-token在命令行上做。
谷歌有一个图书馆似乎可以让我获得令牌。这是我尝试使用它的方法:
credentials, err := auth.FindDefaultCredentials(ctx)
if err == nil {
glog.Infof("found default credentials. %v", credentials)
token, err2 := credentials.TokenSource.Token()
fmt.Printf("token: %v, err: %v", token, err2)
if err2 != nil {
return nil, err2
}
但是,我收到一条错误消息token: <nil>, err: oauth2: cannot fetch token: 400 Bad Request。
我已经GOOGLE_APPLICATION_CREDENTIALS定义了 env 变量并指向 json 文件。
陪伴而非守候
相关分类