Google翻译API(付费API)请求在Asp.net中发送多个请求时,随机出现几个请求的请求错误

本文关键字:请求 API 随机 几个 错误 付费 翻译 Asp net Google | 更新日期: 2023-09-27 18:19:44

嗨,我正在开发一个多语言Web应用程序,该应用程序是用C#在Asp.net 4.0中开发的。我正在为每种语言创建一个资源文件,我必须在其中翻译整个应用程序。为此,我首先用英语创建了一个主资源文件。现在我们获取Language.resx文件的键值对,并将值翻译成所需的语言,并将此值插入另一个resx文件中。(例如Language.hi.resx)。对于值的转换,我对Language.resx文件的每个值使用Google语言翻译器API,并使用以下函数来翻译此值。

     public static string TranslateText(string Text, string tragetlan, string sourceLang)
    {
        try
        {
            LanguagesListResponse ls = new LanguagesListResponse();
            Google.Apis.Translate.v2.Data.LanguagesResource ss = new Google.Apis.Translate.v2.Data.LanguagesResource();
            ss.Language = tragetlan;
            // GetLanguageCode
            string googlekey = "Axxxxxxxxxxxxxxxxxxxxxxxxxxxxw";
            var service = new TranslateService(new BaseClientService.Initializer()
            {
                ApiKey = googlekey
            });
            //new TranslateService { Key = googlekey };
            ICollection<string> data = new Collection<string>();
            string[] srcText = new[] { Text };
            TranslationsListResponse response = service.Translations.List(srcText, tragetlan).Fetch();
            var translations = new List<string>();
            // We need to change this code...
            // currently this code 
            foreach (Google.Apis.Translate.v2.Data.TranslationsResource translation in response.Translations)
            {
                translations.Add(translation.TranslatedText);
            }
            return translations[0];
        }
        catch (Exception ex)
        {
            return Text;
        }
    }

上面的函数对我来说很好,但对于一些值,这个函数通过一个异常表示:

Google.Apis.Requests.RequestError访问未配置[403]远程服务器返回错误:(403)禁止。

该异常以随机方式发生,这意味着对于同一个句子(Value),它在所有语言中都能正确翻译,但在一种或两种语言中会出现异常。此问题发生在8-12个请求之后。注意:我的输入值的字符长度总是小于500个字符,这个问题发生在所有大小的句子中(即10-20个小字符和250-400个大字符)我不知道为什么谷歌API会这样。

Google翻译API(付费API)请求在Asp.net中发送多个请求时,随机出现几个请求的请求错误

通过增加字符/秒/用户限制来增加Google Translator API的配额。

https://code.google.com/apis/console/#project:149xxxxxxx84:quotas