【问题标题】:Firestore gRPC API Sample Usage in GolangGolang 中的 Firestore gRPC API 示例用法
【发布时间】:2020-05-11 22:30:19
【问题描述】:

一般来说,Firestore 和 gRPC 的新手。我一直在试图弄清楚如何与 golang 的 Firestore RPC API 进行交互。他们很好地记录了 API here,但没有显示如何初始化连接。我的一些问题是,

  1. 在 golang 中,我会使用 grpc 包还是内置 rpc。
  2. 我将使用什么 URL 连接到 API。
  3. 当像这样连接到基于云的 RPC API 时,我是否需要在本地拥有 .proto 文件才能与之交互?
  4. 如何使用用户 Firebase ID 令牌进行身份验证。
  5. 如何创建以所述用户身份验证的记录。

干杯。

编辑:感谢 Anar,我已经能够连接。但我无法测试任何东西,因为我不确定如何验证或创建记录。任何有关示例的帮助都会很棒。到目前为止的代码:

conn, err := grpc.Dial("firestore.googleapis.com", grpc.WithInsecure())
if err != nil {
    log.Fatalln(err)
}
defer conn.Close()

【问题讨论】:

    标签: firebase google-cloud-firestore grpc rpc


    【解决方案1】:
    1. 你必须使用 google.golang.org/grpc 包

    2. 作为文档,您必须使用firestore.googleapis.com 来创建客户端存根。

    3.本地不需要它的 proto 文件。您可以创建 grpc 客户端并使用此处提供的服务器方法:https://cloud.google.com/firestore/docs/reference/rpc

    【讨论】:

    • 感谢您的回复,它回答了原始问题。您是否有使用用户 idToken 进行身份验证并在 Firestore 中创建记录的示例?
    • 我从来没有使用过firestore服务,但是逻辑是一样的。为什么你不尝试使用 Golang firestore 包?我看,它有很好的文档,其中包括示例。我建议您阅读 pkg 和示例。 pkg.go.dev/cloud.google.com/go/firestore?tab=doc
    • 我相信 golang sdk 只是一个 admin sdk,不支持用户级别的身份验证,这就是我坚持使用 rpc api 的原因。我很想被证明是错误的,但我还没有找到使用 firestore pkg 的方法。
    • 糟糕,身份验证不是 firestore 软件包的一部分。对于身份验证,只需使用:firebase.google.com/docs/firestore/quickstart#go
    • 不是我的意思,但感谢您的回答。我已经获取了用户的身份验证 ID。我想使用该令牌以用户身份处理 Firestore RPC 请求。
    猜你喜欢
    • 2018-11-23
    • 2017-06-26
    • 1970-01-01
    • 2020-06-16
    • 2022-11-24
    • 2017-02-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多