You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

.NET MAUI对接Google Cloud Translation API时的无效密钥认证错误

问题原因分析
  1. 认证方式不匹配:你配置了服务账户JSON的GOOGLE_APPLICATION_CREDENTIALS环境变量,但代码中使用的是API密钥认证逻辑(TranslationClient.CreateFromApiKey),这两种认证机制完全独立,环境变量的配置不会对API密钥方式生效。
  2. 凭证混淆:你可能误将服务账户JSON中的内容当作API密钥使用——服务账户JSON和API密钥是两种不同类型的凭证,无法混用。
解决建议

方案一:使用服务账户认证(推荐,适合后端/服务器场景)

服务账户认证依赖环境变量加载凭证,无需硬编码密钥,调整代码如下:

1. 修改TranslationService实现

public class TranslationService
{
    private readonly TranslationClient _client;

    public TranslationService()
    {
        // 自动从环境变量读取服务账户JSON凭证
        _client = TranslationClient.Create();
    }

    public string TranslateText(string text, string targetLanguage)
    {
        try
        {
            var response = _client.TranslateText(text, targetLanguage);
            return response.TranslatedText;
        }
        catch (Exception ex)
        {
            return $"Error translating text: {ex.Message}";
        }
    }
}

2. 更新调用逻辑

移除硬编码密钥,直接实例化服务:

private async void TranslateHelloWorld()
{
    TranslationService ts = new TranslationService();
    HelloWorldText = ts.TranslateText(_helloWorldText, _selectedLanguage.Code);
}

3. 关键验证步骤

  • 确认GOOGLE_APPLICATION_CREDENTIALS环境变量指向服务账户JSON文件的绝对路径
  • 重启Visual Studio及所有关联进程,确保环境变量生效
  • 在Google Cloud IAM中,给该服务账户授予Cloud Translation API User角色

方案二:使用API密钥认证(适合客户端/移动场景)

若需使用API密钥,需完成以下操作:

  1. 在Google Cloud控制台中创建独立的API密钥(不是服务账户JSON),并限制其仅用于Cloud Translation API
  2. 确保该API密钥已启用Cloud Translation API权限
  3. 用真实有效的API密钥替换代码中的[MY_VAILID_KEY]

快速验证API密钥有效性

执行以下curl命令测试:

curl "https://translation.googleapis.com/language/translate/v2?key=YOUR_ACTUAL_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "q": "Hello World",
    "target": "ja"
  }'
额外检查项
  • 确认Google Cloud项目已启用Cloud Translation API(在API库中搜索并启用)
  • 检查服务账户/API密钥的配额是否充足,是否被IP或地域限制
  • 若为移动平台的.NET MAUI项目,环境变量配置可能不生效,此时推荐将服务账户JSON嵌入项目资源,通过代码读取加载,或改用API密钥

内容的提问来源于stack exchange,提问作者cxc

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.27 22:52:42