C# 方法'没有重载;ImageAnnotatorClient.Create';接受1个参数

C# 方法'没有重载;ImageAnnotatorClient.Create';接受1个参数,c#,google-cloud-platform,google-cloud-vision,google-client,C#,Google Cloud Platform,Google Cloud Vision,Google Client,我使用的是Google.Cloud.Vision.V1,版本=2.0.0.0,下面的代码来自 但是它向我显示了这个错误,方法“ImageAnnotatorClient.Create”没有重载,它接受1个参数 我在文档中发现了类似的代码 但由于某些原因,它无法工作(无法看到过载)您似乎正在使用较新版本的API。说明现在已通过环境变量设置身份验证(需要时): 否则,验证API调用的最简单方法是下载服务帐户JSON文件,然后设置GOOGLE_APPLICATION_CREDENTIALS环境变量以引用

我使用的是
Google.Cloud.Vision.V1,版本=2.0.0.0
,下面的代码来自

但是它向我显示了这个错误,
方法“ImageAnnotatorClient.Create”没有重载,它接受1个参数

我在文档中发现了类似的代码


但由于某些原因,它无法工作(无法看到过载)

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

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

所以你可以这样做:

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

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

虽然设置环境变量确实是指定要使用哪个服务帐户文件的简单方法,但它不是唯一的方法。您可以使用生成器非常轻松地指定路径:

var-client=new ImageAnnotatorClientBuilder
{
CredentialsPath=“VisionProject.json”
}.Build();

如果您没有直接访问JSON文件的权限,并且希望与之前使用
GoogleCredential
Channel
创建的内容保持一致,则另一种解决方案类似:

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();

看起来您看到的API版本与您安装的不同。看到了吗?我该如何调整api?看起来好多了。谢谢Jon@user960567:很高兴听到这个消息-总体思路是尽可能多地使用客户机构建器模式,以备将来使用。
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();