Tengo este código simple para obtener la traducción:
var apiurl = 'https://api.cognitive.microsofttranslator.com/translate?api-version=3.0'; var my_token = 'xxxxxx'; // my sekret key jQuery.ajax({ url: apiurl, dataType: "json", jsonp: "oncomplete", crossDomain: true, context: this, data: { text: 'Test simple text', from: 'en', to: 'de' }, beforeSend: function (xhr) { xhr.setRequestHeader('Ocp-Apim-Subscription-Key', my_token); xhr.setRequestHeader('Content-type', 'application/json; charset=UTF-8'); xhr.setRequestHeader('X-ClientTraceId', uuid()); xhr.setRequestHeader('Ocp-Apim-Subscription-Region', 'westeurope'); }, contentType: "application/json; charset=UTF-8", type: 'POST', success: function (msg) { console.log(msg); }, complete: function (msg) { }, error: function (e) { console.log(e); } });Pero siempre recibí el error 401000 La solicitud no está autorizada porque faltan las credenciales o no son válidas.
Su captura de pantalla muestra una página de configuración de registro de aplicaciones en Azure Active Directory; esto es algo completamente diferente. Lo que desea es crear un recurso de traductor y luego tomar una de las claves del menú "Claves y puntos finales":
Con los siguientes ajustes, el código debería funcionar:
&from=en&to=deJSON.stringify([{ 'text': 'Test simple text' }]) var apiurl = 'https://api.cognitive.microsofttranslator.com/translate?api-version=3.0&from=en&to=de'; var my_token = 'xxxxxx'; // subscription key jQuery.ajax({ url: apiurl, dataType: "json", jsonp: "oncomplete", crossDomain: true, context: this, data: JSON.stringify([{ 'text': 'Test simple text' }]), beforeSend: function (xhr) { xhr.setRequestHeader('Ocp-Apim-Subscription-Key', my_token); xhr.setRequestHeader('Content-type', 'application/json; charset=UTF-8'); xhr.setRequestHeader('X-ClientTraceId', uuid()); xhr.setRequestHeader('Ocp-Apim-Subscription-Region', 'westeurope'); }, contentType: "application/json; charset=UTF-8", type: 'POST', success: function (msg) { console.log(msg); }, complete: function (msg) { }, error: function (e) { console.log(e); } }); function uuid() { return ([1e7]+-1e3+-4e3+-8e3+-1e11).replace(/[018]/g, c => (c ^ crypto.getRandomValues(new Uint8Array(1))[0] & 15 >> c / 4).toString(16) ); }