dongyong3590 2018-09-08 21:22
浏览 275
已采纳

Golang和gcloud API:如何获取身份验证令牌

Because Google AutoML does not have a golang client, I have to use the AutoML http client. To do so, requires an auth token from google which comes from running the following cli command:

gcloud auth application-default print-access-token

I am currently authing my Golang server with a credentials json file that has access to AutoML as well (example usage)

storageClient, err := storage.NewClient(ctx, option.WithCredentialsFile(gcloudCredsJSONPath))

My question is: how would I get an auth token from the Golang Google client if I have a JSON credentials file? Is this even possible?

Thank you for any help!

  • 写回答

1条回答 默认 最新

  • dryift6733 2018-09-09 18:50
    关注

    You can only use API tokens with certain Google Cloud APIs. Using tokens is discourage by Google Cloud as you can read in this article:

    https://cloud.google.com/docs/authentication/

    If your production environment is also Google Cloud, you might not need to use any JSON file at all. Google Cloud has the concept of "DefaultCredentials" that it injects in your services via the environment. You might be able to simplify your code to:

    storageClient, err := storage.NewClient(ctx)

    It's also recommended to use a "ServiceAccount" so the credentials that your application use can be scopes to it. You can read more here:

    https://cloud.google.com/docs/authentication/getting-started

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 PADS Logic 原理图
  • ¥15 PADS Logic 图标
  • ¥15 电脑和power bi环境都是英文如何将日期层次结构转换成英文
  • ¥20 气象站点数据求取中~
  • ¥15 如何获取APP内弹出的网址链接
  • ¥15 wifi 图标不见了 不知道怎么办 上不了网 变成小地球了