英文:
Unattended authorisation to Google API in Go
问题
我一直在尝试找到一种在不需要用户每次重新授权的情况下与Google的API(特别是Compute Engine API)进行交互的方法。
由于请求将在没有用户存在的情况下进行,所以绝对必须避免通过同意屏幕进行授权。
我正在使用Go语言和Go API客户端库。
有人可以解释一种实现我所需的方法吗?
英文:
I've been trying to find a way to interact with Google's API (specifically, the Compute Engine API) without having the user authorise via a consent screen each time I need to reauthorise with Google.
The requests will be made when no user is present, so not having to authorise via a consent screen is an absolute must.
I'm using Go and the Go API Client Library.
Can anybody explain a method to achieve what I need to?
答案1
得分: 3
你应该查看一下服务账号。它们使用公钥/私钥对来授权调用Google API。
Google开发者文档中有一份非常好的说明服务账号工作原理的文档:
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
希望对你有所帮助。
英文:
You should take a look at service accounts. They utilize the public/private key pair to authorize calls to Google API.
Google Developers has one very nice document explaining how service accounts work:
https://developers.google.com/accounts/docs/OAuth2ServiceAccount
Here's how generate a service account:
https://developers.google.com/console/help/new/#serviceaccounts
You will also find the code samples in the first doc, but unfortunately not in Go.
However, there are some comments that I found here:
https://code.google.com/p/google-api-go-client/wiki/GettingStarted
Hope it helps.
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论