【问题标题】:How to use deep-pro translate Service properly?如何正确使用 deep-pro 翻译服务?
【发布时间】: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!)#

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

谢谢!

【问题讨论】:

  • 我也遇到了同样的问题。 (是的,我赞成你的帖子)。我刚刚购买了专业版许可证。

标签: c# deepl


【解决方案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;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-04-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-08-11
      • 1970-01-01
      • 2021-07-20
      • 1970-01-01
      相关资源
      最近更新 更多