Go中无人值守的Google API授权

时间:2014-08-11 18:42:10

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

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

请求将在没有用户在场时进行,因此无需通过同意屏幕进行授权是必须的。

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

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

1 个答案:

答案 0 :(得分:2)

您应该查看服务帐户。他们利用公钥/私钥对授权调用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

希望它有所帮助。