Google API Go 客户端库
入门指南
$ go get google.golang.org/api/tasks/v1
$ go get google.golang.org/api/moderator/v1
$ go get google.golang.org/api/urlshortener/v1
... 等等 ...
使用示例:
package main
import (
"context"
"net/http"
"google.golang.org/api/urlshortener/v1"
)
func main() {
ctx := context.Background()
svc, err := urlshortener.NewService(ctx)
// ...
}
- 如需更详细的教程,请参阅入门指南。
- 示例代码请查看示例目录。
- 如需支持,请使用golang-nuts邮件列表。
状态
这些是根据 Google Discovery Service 的 JSON 描述文件自动生成的 Go 库。
由于这些库的自动生成性质,从一个版本到下一个版本可能会包含破坏性变更。生成器本身及其生成的代码因此被视为 beta 版本。
这些客户端库是由 Google 官方支持的。然而,这些库被认为是完整的,并处于维护模式。这意味着我们将解决关键错误和安全问题,但不会添加任何新功能。
如果您正在使用 Google Cloud Platform API,如 Datastore 或 Pub/Sub,请改用 Go 云客户端库。这些是专门针对 Google Cloud Platform 服务的新的、符合习惯的 Go 库。
授权
默认情况下,每个 API 将使用 Google 应用默认凭据 作为调用 API 端点的授权凭据。这将允许您的应用程序在许多环境中运行,而无需显式配置。
// import "google.golang.org/api/sheets/v4"
client, err := sheets.NewService(ctx)
要使用 JSON 密钥文件 进行授权,请将 option.WithCredentialsFile
传递给所需包的 NewService
函数。例如:
client, err := sheets.NewService(ctx, option.WithCredentialsFile("path/to/keyfile.json"))
您可以通过使用 golang.org/x/oauth2
包创建 oauth2.TokenSource
来更好地控制授权。然后将 option.WithTokenSource
传递给 NewService
函数:
tokenSource := ...
svc, err := sheets.NewService(ctx, option.WithTokenSource(tokenSource))
更多信息
有关所有生成的客户端的更多信息,请阅读我们的包文档。