如何正确使用 deep-pro 翻译服务?

Posted

技术标签:

【中文标题】如何正确使用 deep-pro 翻译服务?【英文标题】:How to use deep-pro translate Service properly? 【发布时间】:2021-08-23 09:58:39 【问题描述】:

我经常使用 deepl-translation API,我在这里创建了一个名为“DeeplRequests: 的类:其中包含:

    private static readonly RestClient Client = new RestClient("https://www2.deepl.com/jsonrpc");
    private static readonly RestRequest postRequest = new RestRequest(Method.POST);
                  
    private static DeeplAnswer CreateRequest(string text, string sourceLanguage, string targetLanguage)
                
        postRequest.Parameters.Clear();
        postRequest.AddParameter("auth_key", "<KEY_FROM_ACCOUNT_PAGE");
        postRequest.AddParameter("application/json; charset=utf-8", "", ParameterType.RequestBody);
        postRequest.AddParameter("text", text);
        postRequest.AddParameter("source_lang", sourceLanguage);
        postRequest.AddParameter("target_lang", targetLanguage);
        postRequest.RequestFormat = DataFormat.Json;
        var result = Client.Execute(postRequest);
        var rawResult = result.Content;
        var answer = JsonConvert.DeserializeObject<DeeplAnswer>(rawResult);
        return answer;

      //DeeplAnswer is a class which has only 3 fields to contain proper JSON responses not big of a deal
    

我总是得到 429:TooManyRequests 或者当我尝试这个客户端 URL 时: private static readonly RestClient Client = new RestClient("https://api-free.deepl.com/v2/translate");还添加了正确的 AUTH_KEY 作为参数,我总是得到“403:禁止”代码??

有没有人知道如何正确地做到这一点(注意:我正在使用 RestSharp!)#

这对我来说很重要,因为我想在我们的工作中将它用于一些更高级别的文档翻译。

谢谢!

【问题讨论】:

我也遇到了同样的问题。 (是的,我赞成你的帖子)。我刚刚购买了专业版许可证。 【参考方案1】:

@JeffBlumenthal - 我想通了,兄弟。步骤如下: 1) 确保您只订阅了一个 deepl-APi-pro 帐户或无 API 版本 2) 还要确保您有正确的 API 使用计划,请考虑以下文本由 deepl-support 提出:“请注意: 如果您计划预订 DeepL Pro Starter 订阅,则不包括对 API 请求的访问。 此外,预订 DeepL API 或 API Free 时,不包括对 DeepL 翻译工具的访问。 这两个是独立的产品,您需要一个额外的帐户来预订服务。” 3) 还要确保拥有正确的 ,即:“https://api-free.deepl.com/v2 /translate" 用于 FREE-api 用户,https://api.deepl.com/v2/translate 用于 PRO 用户。 4) 还要确保将 auth_key 设置为 AddParameter(...) 而不是 AddHeader(...) 例如: postRequest.AddParameter("auth_key ", "1924ea90-12ff-XXXXXXXXXXX"); 所有这些都认为它对我有用,希望你也能完成它:)=

干杯!

【讨论】:

【参考方案2】:

在邮递员中,我能够使用表单数据内容类型发布帖子。同样在 PostMan 应用程序中,您可以使用 RestSharp 生成 C# 代码。这是它生成的内容,我在我的 Web 应用程序中使用它。

         var client = new RestClient("https://api.deepl.com/v2/translate");
        client.Timeout = -1;
        var request = new RestRequest(Method.POST);
        request.AddHeader("Content-Type", "application/x-www-form-urlencoded");
        request.AddParameter("auth_key", "<your_auth_key>");
        request.AddParameter("source_lang", "EN");
        request.AddParameter("target_lang", "ES");
        request.AddParameter("text", "Hello");
        IRestResponse response = client.Execute(request);

        string strJsonResponse = response.Content;

【讨论】:

以上是关于如何正确使用 deep-pro 翻译服务?的主要内容,如果未能解决你的问题,请参考以下文章

如何正确更新使用 CGContextScaleCTM 和 CGContextTranslateCTM 放大和翻译的 uiview

[翻译]小提示:使用figure和figcaption元素的正确方式

如何在 React Native 中正确旋转和翻译文本 90 度?

如何使用 Sonata 和 Knp 可翻译行为克隆翻译的字段

如何调用有道翻译api进行汉译英

django - 如何使翻译工作?