【发布时间】:2019-11-15 09:56:48
【问题描述】:
我正在编写一个 AWS Lambda 代码,用于使用 Golang 访问和更新将 URL 作为输入的电子表格。到目前为止,我可以按照 Google 指南使用 OAuth 客户端 ID 在本地访问电子表格 - https://developers.google.com/sheets/api/quickstart/go
但由于我想从 AWS Lambda 运行代码,我想使用 Google 服务帐户执行身份验证。我创建了一个服务帐户并收到了包含以下信息的凭据。
{
"type": "service_account",
"project_id": "quickstart-1XXXXXXX806",
"private_key_id": "a1XXXXXXXXXXXXXXXXXXXXX3c3e5d8e",
"private_key": "-----BEGIN PRIVATE KEY-----\nMZ4C8......\nD\n-----END PRIVATE KEY-----\n",
"client_email": "lambda@quickstart-1XXXXXXX806.iam.gserviceaccount.com",
"client_id": "1XXXXXXXXXXXXXXXXX2",
"auth_uri": "https://accounts.google.com/o/oauth2/auth",
"token_uri": "https://oauth2.googleapis.com/token",
"auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
"client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/lambda%40quickstart-1573627656806.iam.gserviceaccount.com"
}
我阅读了很多文档,但没有找到任何关于使用 Google 服务帐户使用 Golang 代码访问 Google 电子表格的参考资料。每个文档参考以下 Github 链接 - https://github.com/googleapis/google-api-go-client 但是由于我最近开始在 Golang 中工作,我真的不明白如何实现它。阅读 Google 指南后,我了解服务帐户所需的流程如下 -
但我仍然无法为此编写 Golang 代码。如果有人可以分享一些参考资料,我将不胜感激:)
【问题讨论】:
标签: authentication go google-api google-oauth google-sheets-api