jQuery Google 翻译调用时出现 403 错误

jQuery Google Translate 403 Error on translation call

我正在尝试调用 google 翻译,我使用我的 google API 键,但我一直收到 403 错误,我似乎无法弄清楚。我想我使用的是正确的脚本类型 HTML 标签“application/javascript”似乎无法弄清楚

这是 chrome 控制台中的错误:

GET https://www.googleapis.com/language/translate/v2?key=API KEY REMOVED&source=en&target=de&q=How%20are%20you 403

   send @ jquery.min.js:2
   ajax @ jquery.min.js:2
   S.<computed> @ jquery.min.js:2
   translatePage @ (index):26
   onclick @ (index):17

使用此代码:

<html>
  <body>
  <head>
    <script type="application/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
  </head>
   
   <b>Text:</b> <input type="text" id="text" value="How are you"/> <br>
    <b>Target Langugage:</b> 
    <select id="target">
    <option value="de">Germany</option>
    <option value="hi">Hindi</option>
    <option value="fr">French</option>
    </select>
    
    <br>
    
    <input type="button" value="Translate"  onclick="translatePage()" />
    
    <br> <br>
    
    <b>Translated Text:</b><div id="translated"></div>   
    
    <script>
    function translatePage()
    {
        $.get("https://www.googleapis.com/language/translate/v2",
            {
            key:"GOOGLE API KEY",
            source:"en",
            target:$("#target").val(),
            q:$("#text").val()
            },
            function(response)
            {
                $("#translated").html(response.data.translations[0].translatedText);
 
            },"json") .fail(function(jqXHR, textStatus, errorThrown) 
            {
                alert( "error :"+errorThrown );
            });
    }
    </script>
  
  </body>
</html>

403错误表示您有权限问题。我尝试了 运行 你的代码,它对我来说很好用,我使用了我的 API 密钥,没有任何限制。

在没有 API 键限制的情况下完成测试:

我尝试在我的 API 密钥上添加限制,例如仅“允许请求云存储”,但我收到了您的 403 错误。

使用具有 API 限制的 API 键完成测试。如您所见,由于应用的限制,“印地语”翻译未能通过:

如果存在应用程序或 API 限制,我建议仔细检查您的 API 密钥设置,并相应地进行调整。