go - 如何从应用程序调用谷歌云身份API

标签 go google-cloud-platform logic google-cloud-identity

我正在尝试从我的基于 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/

相关文章:

go - Go中结构本身的方法

Golang `copy` 时间复杂度

元素放置算法

ios - 将简单数组连接到嵌套数组逻辑困惑

java - 使用梯形近似求曲线下面积的程序中存在逻辑错误

Golang swagger 返回 404 not found

c - Golang 指针接收技术困惑

firebase - 从 firebase storage web - vuejs 下载图像

google-cloud-platform - google cloud storage - signed urls - A 每小时发布次数有上限吗?

go - 如何使用 API 列出 GCP 项目中的所有图像 URL?