【问题标题】:Send Google Document AI request using .NET使用 .NET 发送 Google Document AI 请求
【发布时间】:2023-01-17 01:22:44
【问题描述】:

我正在尝试使用 .NET 框架测试向 Document AI 发送请求。我没有看到关于使用客户端库的正式 Google 解释的任何特定于 .NET 的信息。 到目前为止,这是我想出的:

    public void Test()
    {
        var documentProcessorServiceClient = new DocumentProcessorServiceClientBuilder
        {
            Endpoint = "us-documentai.googleapis.com"
        }.Build();

        ProcessRequest request = new ProcessRequest
        {
            SkipHumanReview = false,
            RawDocument = new RawDocument
            {
                MimeType = "application/pdf",
                Content = ByteString.CopyFrom(bytesArray); // bytesArray of some file
            }
        };

        try
        {
            ProcessResponse response = documentProcessorServiceClient.ProcessDocument(request);

            Document docResponse = response.Document;

            Console.WriteLine(docResponse.Text);
        }
        catch (Exception ex)
         {

            throw;
        }
    }

我的问题是:

  1. 为什么我总是得到以下异常: “启动 gRPC 调用时出错。HttpRequestException:无法从 HttpRequestMessage 获取子通道。”

  2. 如何使用密钥而不是使用 OAuth2 进行身份验证?

    谢谢。

    成功发送带有身份验证的请求。

【问题讨论】:

    标签: cloud-document-ai


    【解决方案1】:
    1. 异常“启动 gRPC 调用时出错。HttpRequestException:无法从 HttpRequestMessage 获取子通道。”可能是由您使用的端点 URL 的问题引起的。 URL 的格式应为“https://us-documentai.googleapis.com”,而不仅仅是“us-documentai.googleapis.com”。

    2. 要使用密钥而不是 OAuth2 进行身份验证,您可以通过将密钥作为查询参数添加到 API 调用来将 API 密钥传递给 Document AI API。例如,您可以在进行 API 调用之前添加以下代码行: documentProcessorServiceClient.DefaultRequestHeaders.Add("Authorization", "Bearer YOUR_API_KEY");

      在进行 API 调用之前,请确保您已启用 API 并创建凭据以使用 API 密钥

    【讨论】:

      猜你喜欢
      • 2021-11-06
      • 2022-11-10
      • 2013-06-14
      • 1970-01-01
      • 2019-10-28
      • 1970-01-01
      • 2022-08-05
      • 2023-03-10
      • 2016-08-04
      相关资源
      最近更新 更多