我正在尝试从我的基于 Go 的应用程序调用 google cloud [groupsmemberships api][1]。我查看了 go 中的文档[此处的文档][2],但我不确定如何编写简单的代码来在 go 中执行此操作。
这是我尝试写的内容:
package main
import (
"context"
"google.golang.org/api/cloudidentity/v1beta1"
)
func main() {
ctx := context.Background()
cloudidentityService, err := cloudidentity.NewService(ctx)
res, err := cloudidentity.groups.memberships.lookup('placeholder-value', 'memberKey.namespace')
}
运行此程序时,我收到错误“无法引用未导出的名称 cloudidentity.groups”
我是 Google Cloud 和 golang 的新手。我的任务是查找用户是否属于谷歌云中给定组的一部分。 [1]:https://cloud.google.com/identity/docs/reference/rest/v1beta1/groups.memberships [2]:https://pkg.go.dev/google.golang.org/api/cloudidentity/v1beta1#GroupsMembershipsLookupCall
最佳答案
In Go, a name is exported if it begins with a capital letter.这意味着您从导入的包调用的任何方法都必须由这些包导出,因此必须以大写字母开头。这应该可以解决您的问题。注意两者的区别
.Groups.Memberships.Lookup
.groups.memberships.lookup
package main
import (
"context"
"google.golang.org/api/cloudidentity/v1"
)
func main() {
ctx := context.Background()
svc, err := cloudidentity.NewService(ctx)
if err != nil {
panic(err)
}
res, err := svc.Groups.Memberships.Lookup("...").Context(ctx).Do()
if err != nil {
panic(err)
}
_ = res
}
关于go - 如何从应用程序调用谷歌云身份API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71564197/