XMLHttpRequest , ejemplo traducción


([N1] OscarBarea) #1

Hola,
En el video de la presentación de la versión 7.18 aparece un ejemplo de como implementar la nueva clase XMLHttpRequest. Pues he intentado hacerla funcionar con el ejemplo de la traducción, pero no lo consigo.
Os paso el código:

importClass ("XMLHttpRequest");

var original = theRegisterIn.fieldToString("#OBS")
var traduccion = traducir(original, "it");

theRegisterIn.setField("#OBS", original + "\r\n" + traduccion);
theRoot.dataView().updateControls();

function traducir(frase,idioma)
{
	// Componemos la url
	var ApiKey = "AIzaSyDB2_x35rkYlRAbH7BZtb_27hv2usW9VRA";
	var url = "https://www.googleapis.com/language/translate/v2?key="+idioma;
	var urlDefinitiva = url + "&q="+encoreURIComponent(frase)+"&source=es&target="+idioma;
	
	// Realización de petición
	var xhr = new XMLHttpRequest();
	xhr.open("GET", urlDefinitiva, false);
	xhr.send();
	
	// Procesamnos el retorno
	var res = JSON.parse(xhr.response);
	return res.data.translations[0].translatedText;
}

En un formulario le pongo un botón que dispara el manejado de evento “TRADUCIR”, pero no me funciona.
No soy un experto en javaScript, alguien sabe el porqué?
Serie un gran aporte por parte de Velneo, tener ejemplos, como éste y el poder conectar nuestras app’s con Google Drive.
Gracias
Oscar B.


([N4] eic) #2

Hola.

En la línea:

var url = …

Al final, en vez de “+idioma” tienes que indicar “+ApiKey”


([N1] OscarBarea) #3

Hola Fran,
He cambiado la variable, pero no funciona. Hay algo que no deja aplicar bien la fórmula. Alguien lo puede probar?
Gracias