【问题标题】:How to make a request to a URL with gRPC Transcoding Syntax with a standard POST request?如何使用标准 POST 请求使用 gRPC 转码语法向 URL 发出请求?
【发布时间】:2022-12-08 09:50:49
【问题描述】:

我正在尝试将端点 https://firestore.googleapis.com/v1/{parent=projects/*}/databasesdocumentation on Google's docs 所需的更多数据一起使用。

目标是能够使用标准的 http 实用程序(例如 cURL)发出此请求。

我尝试在打开 Chrome 网络选项卡的情况下通过 GUI 手动执行请求,我看到了一个请求:https://firebasedatabase.clients6.google.com/v1beta/projects/XXXXXXXXXX/locations/us-central1/instances?databaseId=my-database&validateOnly=true&alt=json&key=secretkey

根据在另一个端点上的反复试验,我发现 key 参数可以替换为标头中的 Bearer Auth 令牌。除此之外,我处于死胡同。

【问题讨论】:

    标签: firebase rest google-cloud-firestore grpc


    【解决方案1】:

    要使用带有标准 POST 请求的 gRPC 转码向 URL 发出请求,您首先需要确保您发送请求的服务器支持 gRPC 转码。一旦确认服务器支持 gRPC 转码,就可以使用 grpc-web-text content-type 来发出 POST 请求。以下是如何使用 gRPC 转码发出 POST 请求的示例:

    POST /my_service HTTP/1.1
    Host: example.com
    Content-Type: application/grpc-web-text
    
    {
      "method": "my_service.MyMethod",
      "parameters": {
        "my_param": "hello world"
      }
    }
    

    在此示例中,我们使用 grpc-web-text 内容类型向 example.com 上的 /my_service 端点发出 POST 请求。请求正文包含一个 JSON 对象,其中包含我们要调用的 gRPC 方法的名称 (my_service.MyMethod) 以及我们要传递给该方法的参数(在本例中,一个名为 my_param 的参数,其值为 hello world)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-07-19
      • 2021-10-26
      • 1970-01-01
      • 1970-01-01
      • 2016-05-30
      • 2018-08-19
      • 1970-01-01
      • 2014-06-20
      相关资源
      最近更新 更多