我正在尝试开发C#Google Vision API函数。
该代码应编译为dll,并且应运行以执行以下步骤。
当我运行dll时,它一直给我抛出异常异常错误。我假设问题出在Google凭证上,但不确定...
有人可以帮我这个忙吗?我什至不知道var凭据= GoogleCredential.FromFile(Credential_Path);是调用json文件的正确方法...
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Google.Cloud.Vision.V1;
using Google.Apis.Auth.OAuth2;
using Image = Google.Cloud.Vision.V1.Image;
namespace DLL_TEST_NetFramework4._6._1version
{
public class Class1
{
public string doc_text_dection(string GVA_File_Path, string Credential_Path)
{
var credential = GoogleCredential.FromFile(Credential_Path);
//Load the image file into memory
var image = Image.FromFile(GVA_File_Path);
// Instantiates a client
ImageAnnotatorClient client = ImageAnnotatorClient.Create();
TextAnnotation text = client.DetectDocumentText(image);
//Console.WriteLine($"Text: {text.Text}");
return $"Text: {text.Text}";
//return "test image...";
}
}
}
答案 0 :(得分:2)
您只需要设置here中提到的环境变量GOOGLE_APPLICATION_CREDENTIALS
答案 1 :(得分:0)
您必须这样在环境变量中提到json文件名。
Environment.SetEnvironmentVariable("GOOGLE_APPLICATION_CREDENTIALS", "Your_Json_File_Name.json");
您的代码应如下所示。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Google.Cloud.Vision.V1;
using Google.Apis.Auth.OAuth2;
using Image = Google.Cloud.Vision.V1.Image;
namespace DLL_TEST_NetFramework4._6._1version
{
public class Class1
{
public string doc_text_dection(string GVA_File_Path, string Credential_Path)
{
//var credential = GoogleCredential.FromFile(Credential_Path);
Environment.SetEnvironmentVariable("GOOGLE_APPLICATION_CREDENTIALS", "Your_Json_File_Name.json");
//Load the image file into memory
var image = Image.FromFile(GVA_File_Path);
// Instantiates a client
ImageAnnotatorClient client = ImageAnnotatorClient.Create();
TextAnnotation text = client.DetectDocumentText(image);
//Console.WriteLine($"Text: {text.Text}");
return $"Text: {text.Text}";
//return "test image...";
}
}
}
或者您可以通过Credential_Path
变量发送它。
有关更多详细信息,请访问Google Vision API Docs
答案 2 :(得分:0)
您需要使用以下代码在控制台中设置环境:
Windows Server:
$env:GOOGLE_APPLICATION_CREDENTIALS="File Path"
Linux服务器:
export GOOGLE_APPLICATION_CREDENTIALS="File Path"
希望有帮助!