如何进行身份验证以使用Google Cloud Vision API

时间:2018-12-12 03:17:49

标签: c# google-cloud-platform google-cloud-vision

我目前正在尝试在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;
        }
    }
}

0 个答案:

没有答案