#.net #google-api #labview #google-translation-api
#.net #google-api #labview #google-translation-api
Вопрос:
Я обращаюсь к .NET DLL в LabVIEW для API перевода Google (Google.Облако.Translation.V2.dll) и попытался установить «GOOGLE_APPLICATION_CREDENTIALS» через командную строку, как показано в примере Google о том, как настроить все, чтобы заставить translate API работать. Похоже, это не работает, и когда я запускаю свой код, я получаю ошибку «отсутствует действительный ключ API» (403). Я думаю, что мне нужно установить ключ программно, но я нигде не могу найти никакой документации или примеров о том, как установить ключ API программно. Ниже приведен .ЧИСТАЯ ошибка, которую я получил при попытке перевести некоторый текст с немецкого на английский.
Google.GoogleApiException: Google.Apis.Requests.RequestError
The request is missing a valid API key. [403]
Errors [
Message[The request is missing a valid API key.] Location[ - ] Reason[forbidden] Domain[global]
]
Нужен ли мне доступ к другой библиотеке DLL для установки ключа API? Я загрузил все это (потому что они были зависимостями, и я не был уверен, что все, что мне нужно при доступе к Google API в LabVIEW) и просмотрел потенциальные методы, которые я мог бы использовать во всех из них. Это они:
Google.Облако.Translation.V2.dll, Google.Apis.Translate.v2.dll, Google.Api.Gax.dll, Google.Api.Gax.Rest.dll, Google.Apis.Auth.dll, Google.Apis.Auth.PlatformServices.dll, Google.Apis.Core.dll, Google.Apis.dll, Google.Apis.PlatformServices.dll, Newtonsoft.Json.dll, System.Интерактивный.Async.dll
Ответ №1:
Я сомневаюсь, что слишком много пользователей использовали эти библиотеки DLL из LabVIEW, лучшее, что я могу предложить, это найти чистый пример .net и определить шаги из него для воспроизведения вызова api. То есть, если вы даже можете создавать необходимые сборки в LabVIEW, поскольку вы не всегда можете сделать это с помощью .net APIs в зависимости от объектов и типов данных, которые ему нужны, иногда бывает сложно сопоставить вещи. Я проделал много работы с .net, но никогда с google API, но обычно нахожу решения, просто сначала копируя то, с чем работает .изначально чистый.
Комментарии:
1. Правильно. Я изо всех сил пытался найти чистый пример .net, и это было моей проблемой, потому что Google объясняет, что вам нужно установить ключ API в powershell или командной строке в их объяснении здесь, в их «Перед началом # 2»: cloud.google.com/translate/docs/… Я смог создать объект service и нахожусь на грани того, чтобы перевести некоторый текст, я просто по какой-то причине не могу правильно установить ключ API. Я специально ищу пример, который устанавливает ключ API программно, чтобы я мог это сделать. Спасибо
Ответ №2:
Я выполнил настройку системной переменной окружения «GOOGLE_APPLICATION_CREDENTIALS» в C # с помощью следующего кода:
string keyFilepath = @"JSONKeyFilePathHere";
System.Environment.SetEnvironmentVariable("GOOGLE_APPLICATION_CREDENTIALS", keyFilepath);
Я выполнил этот же код в LabVIEW со следующим кодом.
Во втором окне отображается выбранный .Сетевая константа передается в первый вызываемый узел. Создайте постоянную ссылку, переданную в узел вызова, щелкните правой кнопкой мыши и выберите класс, перейдите к C:WINDOWSMicrosoft.NETFramework и выберите последнюю версию Framework на своем ПК и погрузитесь в mscorlib.
Я выполнил перевод на немецкий язык с помощью следующего кода LabVIEW, выбранным является правое окно .Сетевая константа передается в первый вызываемый узел. https://imgur.com/a/GFfI4qh