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

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

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

报告相同问题?

悬赏问题

  • ¥20 sim800c模块 at指令及平台
  • ¥15 stm32开发clion时遇到的编译问题
  • ¥15 lna设计 源简并电感型共源放大器
  • ¥15 如何用Labview在myRIO上做LCD显示?(语言-开发语言)
  • ¥15 Vue3地图和异步函数使用
  • ¥15 C++ yoloV5改写遇到的问题
  • ¥20 win11修改中文用户名路径
  • ¥15 win2012磁盘空间不足,c盘正常,d盘无法写入
  • ¥15 用土力学知识进行土坡稳定性分析与挡土墙设计
  • ¥70 PlayWright在Java上连接CDP关联本地Chrome启动失败,貌似是Windows端口转发问题