go - Go 中对 Google API 的无人值守授权

标签 go oauth-2.0 google-api google-oauth google-compute-engine

我一直在尝试寻找一种与 Google 的 API(特别是 Compute Engine API)交互的方法,而无需每次我需要向 Google 重新授权时都通过同意屏幕进行用户授权。

请求将在没有用户在场时发出,因此不必通过同意屏幕进行授权是绝对必要的。

我正在使用 Go 和 Go API 客户端库。

任何人都可以解释一种实现我需要的方法吗?

最佳答案

您应该看看服务帐户。他们利用公钥/私钥对授权对 Google API 的调用。

Google Developers 有一份非常好的文档解释了服务帐户的工作原理:

https://developers.google.com/accounts/docs/OAuth2ServiceAccount

以下是生成服务帐户的方法:

https://developers.google.com/console/help/new/#serviceaccounts

您还可以在第一个文档中找到代码示例,但遗憾的是在 Go 中找不到。 但是,我在这里找到了一些评论:

https://code.google.com/p/google-api-go-client/wiki/GettingStarted

希望对您有所帮助。

关于go - Go 中对 Google API 的无人值守授权,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25250217/

相关文章:

oauth-2.0 - Google SAML app_not_configured_for_user/相当于 prompt=select_account SAML

spring - 如何在docker容器中配置spring cloud oauth2

java - Spring CORS错误

go - 使用 compileDaemon 更改源时重新编译 Go Echo 项目

go - go get 取包时如何切换到golang.google.cn?

go - 安装base64时出现问题

python - 谷歌驱动器用户界面和 API 之间的谷歌驱动器使用统计差异

go - defer 会一直等到子程序执行完吗?

google-api - 无法将 Google Plus 页面 ID 添加到开发者控制台

javascript - Gmail API User.Message 属性不起作用