Как я могу установить Google API Key программно? Я получаю сообщение "В запросе отсутствует действительный ключ API". Ошибка (403) - PullRequest
0 голосов
/ 29 марта 2019

Я обращаюсь к .NET DLL в LabVIEW для API перевода Google (Google.Cloud.Translation.V2.dll) и пытался установить «GOOGLE_APPLICATION_CREDENTIALS» через командную строку, как показано в примере Google о том, как установитьвсе, чтобы заставить работать API перевода.Кажется, он не работает, и когда я запускаю свой код, я получаю ошибку «отсутствует действительный ключ API» (403).Я думаю, что мне нужно установить ключ программно, но я не могу найти документацию или примеры того, как программно установить ключ API.Ниже приведена ошибка .NET, полученная при попытке перевести некоторый текст на немецкий язык.

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.Cloud.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.Interactive.Async.длл

Ответы [ 2 ]

0 голосов
/ 02 апреля 2019

Я выполнил настройку системной переменной среды GOOGLE_APPLICATION_CREDENTIALS в C # со следующим кодом:

string keyFilepath = @"JSON\Key\FilePath\Here";
System.Environment.SetEnvironmentVariable("GOOGLE_APPLICATION_CREDENTIALS", keyFilepath);

Я выполнил этот же код в LabVIEW со следующим кодом.

https://imgur.com/a/M0F0H8F

Во втором окне отображается выбранная константа .NET, передаваемая в первый узел вызова.Создайте постоянную ссылку, передаваемую в узел вызова, щелкните правой кнопкой мыши и выберите класс, перейдите в C: \ WINDOWS \ Microsoft.NET \ Framework \ и выберите свою последнюю версию Framework на своем ПК и погрузитесь в mscorlib.

Я выполнил перевод на немецкий язык с помощью следующего кода LabVIEW, в правом окне которого была выбрана постоянная .NET, передаваемая в первый узел вызова.https://imgur.com/a/GFfI4qh

0 голосов
/ 31 марта 2019

Я сомневаюсь, что слишком много пользователей использовали эти библиотеки из LabVIEW, лучше всего я могу предложить найти чистый пример .net и определить шаги для воспроизведения вызова API. То есть, если вы даже можете создать необходимые сборки в LabVIEW, поскольку вы не всегда можете сделать это с .net API, в зависимости от объектов и типов данных, которые ему нужны, иногда бывает сложно сопоставить их. Я проделал большую работу .net, но никогда не работал с API Google, но обычно нахожу решения, просто реплицируя сначала то, что работает с .net изначально.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...