我目前正在尝试在C#上使用Google Cloud Vision API。
下载用于Google云身份验证的JSON文件后,我已将系统环境变量设置为JSON文件的路径并编译了我的代码。一切都很好。
但是,当我用源创建DLL时,似乎DLL无法从系统环境变量中获取Google Application Credentials值。
因此,我研究了一些Google身份验证文档,将代码放在C#代码的第一行,以传递JSON文件路径来识别我的视觉api调用。
但是,该代码无法正确验证我的JSON文件以调用Google Vision API。
请以您的知识启发我!谢谢。
这是我的代码。
using System;
using System.IO;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using Google.Apis.Auth.OAuth2;
using Google.Apis.Util.Store;
using Google.Cloud.Vision.V1;
using Image = Google.Cloud.Vision.V1.Image;
using Grpc.Core;
using Grpc.Auth;
namespace dotNetFramework461_Console
{
class Program
{
public string GVA_API()
{
string jsonPath = "D:\\blablablah\\abcdefghijk.json";
string imgPath = "C:\\Users\\blablablah\\image.jpg";
var stream = new FileStream(jsonPath, FileMode.Open, FileAccess.Read);
var credential = GoogleCredential.FromStream(stream).CreateScoped(ImageAnnotatorClient.DefaultScopes);
var channel = new Grpc.Core.Channel(ImageAnnotatorClient.DefaultEndpoint.ToString(), credential.ToChannelCredentials());
var client = ImageAnnotatorClient.Create(channel);
var image = Image.FromFile(imgPath);
TextAnnotation text = client.DetectDocumentText(image);
return text.Text;
}
}
}