【问题标题】:How can I set Google API Key programmatically? I'm getting "The request is missing a valid API key." Error (403)如何以编程方式设置 Google API 密钥?我收到“请求缺少有效的 API 密钥”。错误 (403)
【发布时间】:2025-12-09 01:20:20
【问题描述】:

我正在 LabVIEW 中访问 .NET DLL 以获取 google 翻译 API (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 密钥?我下载了所有这些(因为它们是依赖项,并且我不确定在 LabVIEW 中访问 Google API 时我需要什么)并查看了我可以在所有这些中使用的潜在方法。这些是他们:

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.dll

【问题讨论】:

    标签: .net google-api labview google-translation-api


    【解决方案1】:

    我怀疑有太多用户从 LabVIEW 中使用了这些 dll,我建议最好找到一个干净的 .net 示例,并从中确定重现 api 调用的步骤。也就是说,如果您甚至可以在 LabVIEW 中构建所需的程序集,因为您不能总是根据所需的对象和数据类型使用 .net API 来做到这一点,因此有时很难匹配。我已经完成了很多 .net 工作,但从未使用过 google API,但通常只需首先复制与 .net 原生兼容的内容即可找到解决方案。

    【讨论】:

    • 对。我一直在努力寻找一个干净的 .net 示例,这一直是我的问题,因为 Google 解释说您需要在 powershell 中设置 API 密钥,或者在他们的“Before you begin #2”中的解释中设置命令提示符: cloud.google.com/translate/docs/… 我能够创建一个服务对象并且即将翻译一些文本,但由于某种原因我无法正确设置 API 密钥。我正在专门寻找一个以编程方式设置 API 密钥的示例,以便我可以做到这一点。谢谢
    【解决方案2】:

    我使用以下代码在 C# 中完成了“GOOGLE_APPLICATION_CREDENTIALS”系统环境变量的设置:

    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\ 并选择您 PC 上最新版本的 Framework,然后进入 mscorlib。

    我使用以下 LabVIEW 代码完成了德语翻译,右侧窗口是被传递到第一个调用节点的选定 .NET 常量。 https://imgur.com/a/GFfI4qh

    【讨论】:

      最近更新 更多