方法'ImageAnnotatorClient.Create'的重载没有1个参数

我正在使用Google.Cloud.Vision.V1,Version=2.0.0.0和以下Google Vision API specify JSON file中的以下代码

using Google.Apis.Auth.OAuth2;
using Google.Cloud.Vision.V1;
using Grpc.Auth;
using Grpc.Core;

        var credential = GoogleCredential.FromFile("VisionProject.json");
        var channel = new Grpc.Core.Channel(ImageAnnotatorClient.DefaultEndpoint.ToString(),credential.ToChannelCredentials());
        var client = ImageAnnotatorClient.Create(channel);

但是它向我显示了此错误No overload for method 'ImageAnnotatorClient.Create' takes 1 arguments

我在文档https://googleapis.github.io/google-cloud-dotnet/docs/Google.Cloud.Vision.V1P2Beta1/api/Google.Cloud.Vision.V1P2Beta1.ImageAnnotatorClient.html中找到了类似的代码

但是由于某种原因,它不起作用(无法看到超载)

RERR555 回答:方法'ImageAnnotatorClient.Create'的重载没有1个参数

似乎您正在使用API​​的较新版本。 Docs指出,现在已通过环境变量设置了(需要时)身份验证:

否则,验证API调用的最简单方法是下载服务帐户JSON文件,然后将GOOGLE_APPLICATION_CREDENTIALS环境变量设置为引用它。凭据将自动用于身份验证。有关更多详细信息,请参见Getting Started With Authentication指南。

因此您可以执行以下操作:

 Environment.SetEnvironmentVariable("GOOGLE_APPLICATION_CREDENTIALS","PathTo_VisionProject.json");
 var client = ImageAnnotatorClient.Create();

或以其他方式设置此环境变量。

,

虽然设置环境变量当然是一种指定要使用哪个服务帐户文件的简单方法,但它并不是唯一的一种。您可以使用构建器很容易地指定路径:

var client = new ImageAnnotatorClientBuilder
{
    CredentialsPath = "VisionProject.json"
}.Build();
,

如果您无法直接访问 JSON 文件并且希望保持与之前使用 GoogleCredentialChannel 创建所做的接近,另一种解决方案是:

var credential = GoogleCredential.FromFile("VisionProject.json");
// or if you have access to the content only
// var credential = GoogleCredential.FromJson(json);
var client = await new ImageAnnotatorClientBuilder
{
    Endpoint = ImageAnnotatorClient.DefaultEndpoint,ChannelCredentials = credential.ToChannelCredentials()
}.BuildAsync();
本文链接:https://www.f2er.com/2334777.html

大家都在问