Quickstart: Aan de slag met Translator

In deze quickstart leert u hoe u de Translator-service via REST kunt gebruiken. U begint met de basisvoorbeelden en gaat vervolgens verder met een aantal belangrijke configuratie-opties die vaak worden gebruikt tijdens de ontwikkeling, waaronder:

Vereisten

  • Azure-abonnement: Krijg een gratis abonnement

  • Zodra u een Azure-abonnement hebt, maakt u een Translator-resource in Azure Portal om uw sleutel en eindpunt op te halen. Nadat de app is geïmplementeerd, selecteert u Ga naar resource.

    • U hebt de sleutel en het eindpunt nodig van de resource om de toepassing te verbinden met de Translator-service. Later in de quickstart plakt u uw sleutel en eindpunt in de onderstaande code. U vindt deze waarden op de pagina Azure Portal sleutels en eindpunt:

      Schermopname: Azure Portal en eindpuntpagina.

  • U kunt de gratis prijscategorie (F0) gebruiken om de service uit te proberen en later upgraden naar een betaalde laag voor productie.

Platform instellen

  • Maak een nieuw project: dotnet new console -o your_project_name
  • Vervang Program.cs door de hieronder weergegeven C#-code.
  • Stel de abonnementssleutel en eindpuntwaarden in Program.cs in.
  • Voeg Newtonsoft.Json toe met behulp van .NET CLI.
  • Voer het programma uit vanuit de projectmap: dotnet run

Kopteksten

Wanneer u de Translator-service via REST aanroept, moet u ervoor zorgen dat de volgende headers in elke aanvraag zijn opgenomen. U vindt de headers in de voorbeeldcode in de volgende secties.

Kopteksten Beschrijving
Verificatieheader(s) Vereiste aanvraagheader.
Ocp-Apim-Subscription-Key

De vereiste aanvraagheader als er een Cognitive Services-resource wordt gebruikt. Optioneel als er een Translator-resource wordt gebruikt.
Ocp-Apim-Subscription-Region

Zie Beschikbare opties voor verificatie.
Content-Type Vereiste aanvraagheader.
Hiermee geeft u het inhoudstype van de payload op.
De geaccepteerde waarde is application/json; charset=UTF-8.
Content-Length Vereiste aanvraagheader.
De lengte van de aanvraagtekst.
X-ClientTraceId Optioneel.
Een door de client gegenereerde GUID om de aanvraag op unieke wijze te identificeren. U kunt deze header weglaten als u de tracerings-id in de queryreeks opneemt middels een queryparameter met de naam ClientTraceId.

Sleutels en eindpunten

De voorbeelden op deze pagina gebruiken voor het gemak in code vastgelegde sleutels en eindpunten. Vergeet niet de sleutel uit uw code te verwijderen wanneer u klaar bent, en maak deze sleutel nooit openbaar. Overweeg om voor productie een veilige manier te gebruiken voor het opslaan en openen van uw referenties. Zie het artikel Cognitive Services Beveiliging voor meer informatie.

Tekst vertalen

De belangrijkste functie van de Translator-service is het vertalen van tekst. In deze sectie maakt u een aanvraag met één bron (from) en twee uitvoerwaarden (to). Vervolgens bekijken we enkele parameters die kunnen worden gebruikt om zowel de aanvraag als het antwoord aan te passen.

using System;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json; // Install Newtonsoft.Json with NuGet

class Program
{
    private static readonly string subscriptionKey = "YOUR-SUBSCRIPTION-KEY";
    private static readonly string endpoint = "https://api.cognitive.microsofttranslator.com/";

    // Add your location, also known as region. The default is global.
    // This is required if using a Cognitive Services resource.
    private static readonly string location = "YOUR_RESOURCE_LOCATION";
    
    static async Task Main(string[] args)
    {
        // Input and output languages are defined as parameters.
        string route = "/translate?api-version=3.0&from=en&to=de&to=it";
        string textToTranslate = "Hello, world!";
        object[] body = new object[] { new { Text = textToTranslate } };
        var requestBody = JsonConvert.SerializeObject(body);
    
        using (var client = new HttpClient())
        using (var request = new HttpRequestMessage())
        {
            // Build the request.
            request.Method = HttpMethod.Post;
            request.RequestUri = new Uri(endpoint + route);
            request.Content = new StringContent(requestBody, Encoding.UTF8, "application/json");
            request.Headers.Add("Ocp-Apim-Subscription-Key", subscriptionKey);
            request.Headers.Add("Ocp-Apim-Subscription-Region", location);
    
            // Send the request and get response.
            HttpResponseMessage response = await client.SendAsync(request).ConfigureAwait(false);
            // Read response as a string.
            string result = await response.Content.ReadAsStringAsync();
            Console.WriteLine(result);
        }
    }
}

Na een geslaagde aanroep ziet u het volgende antwoord:

[
    {
        "translations": [
            {
                "text": "Hallo Welt!",
                "to": "de"
            },
            {
                "text": "Salve, mondo!",
                "to": "it"
            }
        ]
    }
]

Taal detecteren

Als u weet dat u een vertaling nodig hebt, maar de taal van de tekst die naar de Translator-service wordt verzonden, niet kent, kunt u de taaldetectiefunctie gebruiken. Er zijn verschillende manieren om de taal van de brontekst te identificeren. In deze sectie leert u hoe u taaldetectie kunt gebruiken met behulp van het translate-eindpunt en het detect-eindpunt.

Brontaal detecteren tijdens de vertaling

Als u de parameter from niet in uw vertaalaanvraag opneemt, probeert de Translator-service de taal van de brontekst zelf te detecteren. In het antwoord wordt de gedetecteerde taal (language) en een betrouwbaarheidsscore (score) weergeven. Hoe dichter de score bij 1.0 ligt, hoe groter de kans is dat de gedetecteerde taal juist is.

using System;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json; // Install Newtonsoft.Json with NuGet

class Program
{
    private static readonly string subscriptionKey = "YOUR-SUBSCRIPTION-KEY";
    private static readonly string endpoint = "https://api.cognitive.microsofttranslator.com/";

    // Add your location, also known as region. The default is global.
    // This is required if using a Cognitive Services resource.
    private static readonly string location = "YOUR_RESOURCE_LOCATION";
    
    static async Task Main(string[] args)
    {
        // Output languages are defined as parameters, input language detected.
        string route = "/translate?api-version=3.0&to=de&to=it";
        string textToTranslate = "Hello, world!";
        object[] body = new object[] { new { Text = textToTranslate } };
        var requestBody = JsonConvert.SerializeObject(body);
    
        using (var client = new HttpClient())
        using (var request = new HttpRequestMessage())
        {
            // Build the request.
            request.Method = HttpMethod.Post;
            request.RequestUri = new Uri(endpoint + route);
            request.Content = new StringContent(requestBody, Encoding.UTF8, "application/json");
            request.Headers.Add("Ocp-Apim-Subscription-Key", subscriptionKey);
            request.Headers.Add("Ocp-Apim-Subscription-Region", location);
    
            // Send the request and get response.
            HttpResponseMessage response = await client.SendAsync(request).ConfigureAwait(false);
            // Read response as a string.
            string result = await response.Content.ReadAsStringAsync();
            Console.WriteLine(result);
        }
    }
}

Na een geslaagde aanroep ziet u het volgende antwoord:

[
    {
        "detectedLanguage": {
            "language": "en",
            "score": 1.0
        },
        "translations": [
            {
                "text": "Hallo Welt!",
                "to": "de"
            },
            {
                "text": "Salve, mondo!",
                "to": "it"
            }
        ]
    }
]

Brontaal detecteren zonder vertaling

Het is mogelijk de Translator-service te gebruiken om de taal van de brontekst te detecteren zonder een vertaling uit te voeren. U kunt dit doen door het /detect-eindpunt te gebruiken.

using System;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json; // Install Newtonsoft.Json with NuGet

class Program
{
    private static readonly string subscriptionKey = "YOUR-SUBSCRIPTION-KEY";
    private static readonly string endpoint = "https://api.cognitive.microsofttranslator.com/";

    // Add your location, also known as region. The default is global.
    // This is required if using a Cognitive Services resource.
    private static readonly string location = "YOUR_RESOURCE_LOCATION";    
    
    static async Task Main(string[] args)
    {
        // Just detect language
        string route = "/detect?api-version=3.0";
        string textToLangDetect = "Ich würde wirklich gern Ihr Auto um den Block fahren ein paar Mal.";
        object[] body = new object[] { new { Text = textToLangDetect } };
        var requestBody = JsonConvert.SerializeObject(body);
    
        using (var client = new HttpClient())
        using (var request = new HttpRequestMessage())
        {
            // Build the request.
            request.Method = HttpMethod.Post;
            request.RequestUri = new Uri(endpoint + route);
            request.Content = new StringContent(requestBody, Encoding.UTF8, "application/json");
            request.Headers.Add("Ocp-Apim-Subscription-Key", subscriptionKey);
            request.Headers.Add("Ocp-Apim-Subscription-Region", location);
    
            // Send the request and get response.
            HttpResponseMessage response = await client.SendAsync(request).ConfigureAwait(false);
            // Read response as a string.
            string result = await response.Content.ReadAsStringAsync();
            Console.WriteLine(result);
        }
    }
}

Wanneer het /detect-eind punt wordt gebruikt, bevat het antwoord alternatieve detecties en kunt u zien of vertaling en transliteratie worden ondersteund voor de gedetecteerde talen. Na een geslaagde aanroep ziet u het volgende antwoord:

[

    {

        "language": "de",

        "score": 1.0,

        "isTranslationSupported": true,

        "isTransliterationSupported": false

    }

]

Tekst transcriberen

Transliteratie is het proces waarbij een woord of woordgroep van het script (alfabet) van de ene taal naar de andere wordt omgezet op basis van de fonetische gelijkenis. U kunt bijvoorbeeld transliteratie gebruiken om ' สวัสดี ' (thai) om te zetten naar 'sawatdi' (latn). Er is meer dan één manier om transliteratie uit te voeren. In deze sectie leert u hoe u taaldetectie kunt gebruiken met behulp van het translate-eindpunt en het transliterate-eindpunt.

Transliteratie tijdens de vertaling

Als u tekst naar een taal wilt vertalen die gebruikmaakt van een ander alfabet (of fonemen) dan uw bron, moet u de tekst mogelijk eerst transliteren. In dit voorbeeld vertalen we 'Hello' van het Engels naar het Thais. Naast de vertaling in het Thais, krijgt u een transliteratie van de vertaalde woordgroep met behulp van het Latijnse alfabet.

Als u een transliteratie wilt met het translate-eindpunt, gebruikt u de parameter toScript .

Notitie

Zie Taalondersteuning voor een volledige lijst met beschikbare talen en transliteratieopties.

using System;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json; // Install Newtonsoft.Json with NuGet

class Program
{
    private static readonly string subscriptionKey = "YOUR-SUBSCRIPTION-KEY";
    private static readonly string endpoint = "https://api.cognitive.microsofttranslator.com/";

    // Add your location, also known as region. The default is global.
    // This is required if using a Cognitive Services resource.
    private static readonly string location = "YOUR_RESOURCE_LOCATION";    
    
    static async Task Main(string[] args)
    {
        // Output language defined as parameter, with toScript set to latn
        string route = "/translate?api-version=3.0&to=th&toScript=latn";
        string textToTransliterate = "Hello";
        object[] body = new object[] { new { Text = textToTransliterate } };
        var requestBody = JsonConvert.SerializeObject(body);
    
        using (var client = new HttpClient())
        using (var request = new HttpRequestMessage())
        {
            // Build the request.
            request.Method = HttpMethod.Post;
            request.RequestUri = new Uri(endpoint + route);
            request.Content = new StringContent(requestBody, Encoding.UTF8, "application/json");
            request.Headers.Add("Ocp-Apim-Subscription-Key", subscriptionKey);
            request.Headers.Add("Ocp-Apim-Subscription-Region", location);
    
            // Send the request and get response.
            HttpResponseMessage response = await client.SendAsync(request).ConfigureAwait(false);
            // Read response as a string.
            string result = await response.Content.ReadAsStringAsync();
            Console.WriteLine(result);
        }
    }
}

Na een geslaagde aanroep ziet u het volgende antwoord. Houd er rekening mee dat het antwoord van het translate-eindpunt de gedetecteerde brontaal bevat met een betrouwbaarheidsscore, een vertaling in het alfabet van de uitvoertaal en een transliteratie in het Latijnse alfabet.

[
    {
        "detectedLanguage": {
            "language": "en",
            "score": 1.0
        },
        "translations": [
            {
                "text": "สวัสดี",
                "to": "th",
                "transliteration": {
                    "script": "Latn",
                    "text": "sawatdi"
                }
            }
        ]
    }
]

Transliteratie zonder vertaling

U kunt ook het transliterate-eindpunt gebruiken voor een transliteratie. Wanneer u het eindpunt voor transliteratie gebruikt, moet u de brontaal (language), het bronscript/-alfabet (fromScript) en het uitvoerscript/-alfabet (toScript) als parameters opgeven. In dit voorbeeld gaan we een transliteratie maken van สวัสดี.

Notitie

Zie Taalondersteuning voor een volledige lijst met beschikbare talen en transliteratieopties.

using System;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json; // Install Newtonsoft.Json with NuGet

class Program
{
    private static readonly string subscriptionKey = "YOUR-SUBSCRIPTION-KEY";
    private static readonly string endpoint = "https://api.cognitive.microsofttranslator.com/";

    // Add your location, also known as region. The default is global.
    // This is required if using a Cognitive Services resource.
    private static readonly string location = "YOUR_RESOURCE_LOCATION";   
    
    static async Task Main(string[] args)
    {
        // For a complete list of options, see API reference.
        // Input and output languages are defined as parameters.
        string route = "/translate?api-version=3.0&to=th&toScript=latn";
        string textToTransliterate = "Hello";
        object[] body = new object[] { new { Text = textToTransliterate } };
        var requestBody = JsonConvert.SerializeObject(body);
    
        using (var client = new HttpClient())
        using (var request = new HttpRequestMessage())
        {
            // Build the request.
            request.Method = HttpMethod.Post;
            request.RequestUri = new Uri(endpoint + route);
            request.Content = new StringContent(requestBody, Encoding.UTF8, "application/json");
            request.Headers.Add("Ocp-Apim-Subscription-Key", subscriptionKey);
            request.Headers.Add("Ocp-Apim-Subscription-Region", location);
    
            // Send the request and get response.
            HttpResponseMessage response = await client.SendAsync(request).ConfigureAwait(false);
            // Read response as a string.
            string result = await response.Content.ReadAsStringAsync();
            Console.WriteLine(result);
        }
    }
}

Na een geslaagde aanroep ziet u het volgende antwoord. In tegenstelling tot de aanroep van het translate-eindpunt, retourneert transliterate alleen de script en de uitvoer text.

[
    {
        "script": "latn",
        "text": "sawatdi"
    }
]

Zinslengte bepalen

Met de Translator-service kunt u het aantal tekens voor een zin of reeks zinnen bepalen. Het antwoord wordt geretourneerd als een matrix, met het aantal tekens dat voor elke zin is gedetecteerd. U kunt de zinslengte bepalen met de translate- en breaksentence-eindpunten.

Zinslengte bepalen tijdens vertaling

U kunt het aantal tekens voor zowel de brontekst als de vertaaluitvoer bepalen met behulp van het translate-eindpunt. Als u de zinslengte wilt retourneren (srcSenLen en transSenLen), moet u de parameter includeSentenceLength instellen op True.

using System;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json; // Install Newtonsoft.Json with NuGet

class Program
{
    private static readonly string subscriptionKey = "YOUR-SUBSCRIPTION-KEY";
    private static readonly string endpoint = "https://api.cognitive.microsofttranslator.com/";

    // Add your location, also known as region. The default is global.
    // This is required if using a Cognitive Services resource.
    private static readonly string location = "YOUR_RESOURCE_LOCATION";   
    
    static async Task Main(string[] args)
    {
        // Include sentence length details.
        string route = "/translate?api-version=3.0&to=es&includeSentenceLength=true";
        string sentencesToCount = 
                "Can you tell me how to get to Penn Station? Oh, you aren't sure? That's fine.";
        object[] body = new object[] { new { Text = sentencesToCount } };
        var requestBody = JsonConvert.SerializeObject(body);
    
        using (var client = new HttpClient())
        using (var request = new HttpRequestMessage())
        {
            // Build the request.
            request.Method = HttpMethod.Post;
            request.RequestUri = new Uri(endpoint + route);
            request.Content = new StringContent(requestBody, Encoding.UTF8, "application/json");
            request.Headers.Add("Ocp-Apim-Subscription-Key", subscriptionKey);
            request.Headers.Add("Ocp-Apim-Subscription-Region", location);
    
            // Send the request and get response.
            HttpResponseMessage response = await client.SendAsync(request).ConfigureAwait(false);
            // Read response as a string.
            string result = await response.Content.ReadAsStringAsync();
            Console.WriteLine(result);
        }
    }
}

Na een geslaagde aanroep ziet u het volgende antwoord. Naast de gedetecteerde brontaal en vertaling krijgt u het aantal tekens voor elke gedetecteerde zin voor zowel de bron (srcSentLen) als de vertaling (transSentLen).

[
    {
        "detectedLanguage": {
            "language": "en",
            "score": 1.0
        },
        "translations": [
            {
                "sentLen": {
                    "srcSentLen": [
                        44,
                        21,
                        12
                    ],
                    "transSentLen": [
                        48,
                        18,
                        10
                    ]
                },
                "text": "¿Puedes decirme cómo llegar a la estación Penn? ¿No estás seguro? Está bien.",
                "to": "es"
            }
        ]
    }
]

Zinslengte bepalen zonder vertaling

Met de Translator-service kunt u ook de zinslengte bepalen zonder vertaling met behulp van het breaksentence-eindpunt.

using System;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json; // Install Newtonsoft.Json with NuGet

class Program
{
    private static readonly string subscriptionKey = "YOUR-SUBSCRIPTION-KEY";
    private static readonly string endpoint = "https://api.cognitive.microsofttranslator.com/";

    // Add your location, also known as region. The default is global.
    // This is required if using a Cognitive Services resource.
    private static readonly string location = "YOUR_RESOURCE_LOCATION";   
    
    static async Task Main(string[] args)
    {
        // Only include sentence length details.
        string route = "/breaksentence?api-version=3.0";
        string sentencesToCount = 
                "Can you tell me how to get to Penn Station? Oh, you aren't sure? That's fine.";
        object[] body = new object[] { new { Text = sentencesToCount } };
        var requestBody = JsonConvert.SerializeObject(body);
    
        using (var client = new HttpClient())
        using (var request = new HttpRequestMessage())
        {
            // Build the request.
            request.Method = HttpMethod.Post;
            request.RequestUri = new Uri(endpoint + route);
            request.Content = new StringContent(requestBody, Encoding.UTF8, "application/json");
            request.Headers.Add("Ocp-Apim-Subscription-Key", subscriptionKey);
            request.Headers.Add("Ocp-Apim-Subscription-Region", location);
    
            // Send the request and get response.
            HttpResponseMessage response = await client.SendAsync(request).ConfigureAwait(false);
            // Read response as a string.
            string result = await response.Content.ReadAsStringAsync();
            Console.WriteLine(result);
        }
    }
}

Na een geslaagde aanroep ziet u het volgende antwoord. In tegenstelling tot de aanroep van het translate-eindpunt, retourneert breaksentence alleen het aantal tekens voor de brontekst in een matrix met de naam sentLen.

[
    {
        "detectedLanguage": {
            "language": "en",
            "score": 1.0
        },
        "sentLen": [
            44,
            21,
            12
        ]
    }
]

Opzoeken in woordenlijst (alternatieve vertalingen)

Met het eindpunt kunt u alternatieve vertalingen voor een woord of woordgroep verkrijgen. Wanneer bijvoorbeeld het woord 'haaien' wordt vertaald van en naar es, retourneert dit eindpunt zowel 'tiburón' als 'escualo'.

using System;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json; // Install Newtonsoft.Json with NuGet

class Program
{
    private static readonly string subscriptionKey = "YOUR-SUBSCRIPTION-KEY";
    private static readonly string endpoint = "https://api.cognitive.microsofttranslator.com/";

    // Add your location, also known as region. The default is global.
    // This is required if using a Cognitive Services resource.
    private static readonly string location = "YOUR_RESOURCE_LOCATION"; 
    
    static async Task Main(string[] args)
    {
        // See many translation options
        string route = "/dictionary/lookup?api-version=3.0&from=en&to=es";
        string wordToTranslate = "shark";
        object[] body = new object[] { new { Text = wordToTranslate } };
        var requestBody = JsonConvert.SerializeObject(body);
    
        using (var client = new HttpClient())
        using (var request = new HttpRequestMessage())
        {
            // Build the request.
            request.Method = HttpMethod.Post;
            request.RequestUri = new Uri(endpoint + route);
            request.Content = new StringContent(requestBody, Encoding.UTF8, "application/json");
            request.Headers.Add("Ocp-Apim-Subscription-Key", subscriptionKey);
            request.Headers.Add("Ocp-Apim-Subscription-Region", location);
    
            // Send the request and get response.
            HttpResponseMessage response = await client.SendAsync(request).ConfigureAwait(false);
            // Read response as a string.
            string result = await response.Content.ReadAsStringAsync();
            Console.WriteLine(result);
        }
    }
}

Na een geslaagde aanroep ziet u het volgende antwoord. We zullen hier wat uitgebreider op ingaan, omdat de JSON complexer is dan die van andere voorbeelden in dit artikel. De translations-matrix bevat een lijst met vertalingen. Elk object in deze matrix bevat een betrouwbaarheidsscore (confidence), de tekst die is geoptimaliseerd voor weergave aan eindgebruikers (displayTarget), de genormaliseerde tekst (normalizedText), de woordsoort (posTag) en informatie over de vorige vertaling (backTranslations). Zie Opzoeken in woordenlijst voor meer informatie over het antwoord

[
    {
        "displaySource": "shark",
        "normalizedSource": "shark",
        "translations": [
            {
                "backTranslations": [
                    {
                        "displayText": "shark",
                        "frequencyCount": 45,
                        "normalizedText": "shark",
                        "numExamples": 0
                    }
                ],
                "confidence": 0.8182,
                "displayTarget": "tiburón",
                "normalizedTarget": "tiburón",
                "posTag": "OTHER",
                "prefixWord": ""
            },
            {
                "backTranslations": [
                    {
                        "displayText": "shark",
                        "frequencyCount": 10,
                        "normalizedText": "shark",
                        "numExamples": 1
                    }
                ],
                "confidence": 0.1818,
                "displayTarget": "escualo",
                "normalizedTarget": "escualo",
                "posTag": "NOUN",
                "prefixWord": ""
            }
        ]
    }
]

Voorbeelden van woordenlijsten (vertalingen met context)

Nadat u een woord heeft opgezocht in de woordenlijst, kunt u de brontekst en vertaling doorgeven aan het dictionary/examples-eindpunt om een lijst met voorbeelden te verkrijgen waarin beide termen in de context van een zin of woordgroep worden weergegeven. Op basis van het vorige voorbeeld gebruikt u de normalizedText en normalizedTarget uit het antwoord van de zoekopdracht als text en translation. De parameters voor de brontaal (from) en het uitvoerdoel (to) zijn vereist.

using System;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json; // Install Newtonsoft.Json with NuGet

class Program
{
    private static readonly string subscriptionKey = "YOUR-SUBSCRIPTION-KEY";
    private static readonly string endpoint = "https://api.cognitive.microsofttranslator.com/";

    // Add your location, also known as region. The default is global.
    // This is required if using a Cognitive Services resource.
    private static readonly string location = "YOUR_RESOURCE_LOCATION"; 
    
    static async Task Main(string[] args)
    {
        // See examples of terms in context
        string route = "/dictionary/examples?api-version=3.0&from=en&to=es";
        object[] body = new object[] { new { Text = "Shark",  Translation = "tiburón" } } ;
        var requestBody = JsonConvert.SerializeObject(body);
    
        using (var client = new HttpClient())
        using (var request = new HttpRequestMessage())
        {
            // Build the request.
            request.Method = HttpMethod.Post;
            request.RequestUri = new Uri(endpoint + route);
            request.Content = new StringContent(requestBody, Encoding.UTF8, "application/json");
            request.Headers.Add("Ocp-Apim-Subscription-Key", subscriptionKey);
            request.Headers.Add("Ocp-Apim-Subscription-Region", location);
    
            // Send the request and get response.
            HttpResponseMessage response = await client.SendAsync(request).ConfigureAwait(false);
            // Read response as a string.
            string result = await response.Content.ReadAsStringAsync();
            Console.WriteLine(result);
        }
    }
}

Na een geslaagde aanroep ziet u het volgende antwoord. Zie Opzoeken in woordenlijst voor meer informatie over het antwoord

[
    {
        "examples": [
            {
                "sourcePrefix": "More than a match for any ",
                "sourceSuffix": ".",
                "sourceTerm": "shark",
                "targetPrefix": "Más que un fósforo para cualquier ",
                "targetSuffix": ".",
                "targetTerm": "tiburón"
            },
            {
                "sourcePrefix": "Same with the mega ",
                "sourceSuffix": ", of course.",
                "sourceTerm": "shark",
                "targetPrefix": "Y con el mega ",
                "targetSuffix": ", por supuesto.",
                "targetTerm": "tiburón"
            },
            {
                "sourcePrefix": "A ",
                "sourceSuffix": " ate it.",
                "sourceTerm": "shark",
                "targetPrefix": "Te la ha comido un ",
                "targetSuffix": ".",
                "targetTerm": "tiburón"
            }
        ],
        "normalizedSource": "shark",
        "normalizedTarget": "tiburón"
    }
]

Problemen oplossen

Algemene HTTP-statuscodes

HTTP-statuscode Beschrijving Mogelijke reden
200 OK De aanvraag is geslaagd.
400 Onjuiste aanvraag Een vereiste parameter ontbreekt, leeg of null. Of de waarde die wordt doorgegeven aan een vereiste of optionele parameter is ongeldig. Een veelvoorkomende probleem is een header die te lang is.
401 Niet geautoriseerd De aanvraag is niet geautoriseerd. Controleer of uw abonnementssleutel of token geldig is en in de juiste regio. Zie ook Verificatie.
429 Te veel aanvragen U hebt het quotum of het aantal toegestane aanvragen voor uw abonnement overschreden.
502 Slechte gateway Netwerk- of serverprobleem. Kan ook duiden op ongeldige headers.

Java-gebruikers

Als u verbindingsproblemen ondervindt, is uw SSL-certificaat mogelijk verlopen. U kunt dit probleem oplossen door de DigiCertGlobalRootG2.crt te installeren in uw privé-archief.

Volgende stappen