Anónimo
Hola,
Planeaba usar la compatibilidad con Microsoft Translator para traducir texto en Power BI. Similar al siguiente ejemplo: https://www.youtube.com/watch?v=jZQ4BZmtseo. Según la publicación https://community.powerbi.com/t5/Desktop/Sample-Power-BI-multilingual-support-report/td-p/57354, parece que Microsoft Traductor ya no es compatible. ¿Es eso correcto? ¿Hay otra forma de usar la API de Microsoft Translator?
Muchas gracias.
Salud,
dom
Anónimo
En respuesta a v-huizhn-msft
Hola @v-huizhn-msft,
Pude solucionar ese problema.
Primero, para evitar el problema «Una clave de API web solo se puede especificar cuando se proporciona un nombre de clave de API web» Tuve que establecer la «Configuración de la fuente de datos» en «Anónimo». Debido a que el código M proporciona la lógica de la clave API, no es necesario especificar la clave en la GUI de Power BI.
En segundo lugar, en Power BI hay dos tipos de configuración de fuente de datos: «Fuente de datos en el archivo actual» y «Permisos globales». Según lo que experimenté, la configuración de permisos para la URL que estoy usando debería ser la misma en la configuración Global o Archivo actual. No estoy seguro si esto es 100% correcto, pero funcionó para mi caso. Por lo tanto, configuré el tipo de credencial en «Anónimo» y el nivel de privacidad en «Ninguno».
Posteriormente recibí el mensaje de error «Formula.Firewall: la consulta hace referencia a otras consultas o pasos, por lo que es posible que no acceda directamente a la fuente de datos. Reconstruya esta combinación de datos». Para deshacerme de este error, configuré Power BI para que ignorara la privacidad en la configuración de archivo global o actual en la opción como se menciona en http://community.powerbi.com/t5/Desktop/Formula-Firewall-Query-references-other- consultas-o-pasos/td-….
Ahora, la función de traducción funciona sin errores.
Gracias por tu ayuda.
Salud,
dom
v-huizhn-msft
Hola @Anonimo,
Puedes usar Traductor Text API en Power BI, más detalles, siga la guía en el blog: Traducir texto en Power BI o Excel con Microsoft Translator Text API.
Atentamente,
ángelia
Anónimo
En respuesta a v-huizhn-msft
Hola @v-huizhn-msft,
Gracias por su apoyo.
Leí la publicación del blog e intenté establecer una conexión usando la plantilla que proporciona DATACHANT.
Desafortunadamente, recibo el siguiente mensaje de error cuando completo mi Ocp-Apim-Subscription-Key: «Una clave de API web solo se puede especificar cuando se proporciona un nombre de clave de API web». Estoy al tanto de varias publicaciones que discuten ese problema, pero todavía no estoy seguro de qué hacer al respecto.
La función que estoy usando para obtener acceso al traductor se ve así:
let EmptyContent = Text.ToBinary("", TextEncoding.Ascii), Response = Web.Contents("https://api.cognitive.microsoft.com/sts/v1.0/issueToken", [ Headers = [ #"Content-Type"="application/json", Accept="application/jwt", #"Ocp-Apim-Subscription-Key"= TranslatorKey ], Content=EmptyContent ]), #"Imported Text" = Table.FromColumns({Lines.FromBinary(Response,null,null,20127)}), Res = #"Imported Text"{0}[Column1] in Res
La función para traducir el texto se ve así:
(textToTranslate, TranslateTolanguage) => let URL = "https://api.microsofttranslator.com/v2/http.svc/Translate?appid=Bearer " & GetTranslatorAccessToken & "&text=" & textToTranslate & "&to=" & TranslateTolanguage, Response = Web.Contents( URL, [ Headers = [Accept="application/xml"] ] ), XML = Xml.Tables(Response, null, 65001), TranslatedText = XML{0}[#"Element:Text"] in TranslatedText
Aparte de eso, ya verifiqué si mi Ocp-Apim-Subscription-Key es válida usando http://docs.microsofttranslator.com/oauth-token.html#/ . Hasta el momento la clave es válida ya que recibí el código de respuesta 200.
Por cierto, la variable TranslatorKey se almacena como un parámetro en Power BI.
¿Tienes alguna sugerencia?
Salud,
dom
julianpayne_i4
En respuesta a Anónimo
sigo con el mismo problema…
codificación en lenguaje de consulta M…
Mi código para crear una función de traducción personalizada:
dejar
Fuente = Web.Contents(«https://api.cognitive.microsoft.com/sts/v1.0″, [Headers=[#»Ocp-Apim-Subscription-Key»=»xxxxxxx»]])
en
Fuente
mi resultado:
404 Error Recurso no encontrado …..
DataSource.Error: Web.Contents no pudo obtener contenido de ‘https://api.cognitive.microsoft.com/sts/v1.0’ (404): Recurso no encontrado
Detalles:
DataSourceKind=Web
DataSourcePath=https://api.cognitive.microsoft.com/sts/v1.0
Url=https://api.cognitive.microsoft.com/sts/v1.0
He probado muchos otros nombres para la clave api. [Header]:
Clave API
apitoken
Autorización
¿Por qué no se encuentra el recurso?
En Azure, la suscripción me dio la URL que copié y pegué. Veo que otros usuarios usan esta URL; también han tenido problemas para conectarse.
Elegí la autenticación «Anónima», como se ha indicado.
julianpayne_i4
En respuesta a julianpayne_i4
esta es una consulta básica que funciona, no hace exactamente lo que necesito hacer, pero al menos puedo hacer todas las api…
dejar
cuerpo = «[{«»Text»»:»»Have a good day»»}]»,
jsonContent = Text.ToBinary(cuerpo, TextEncoding.Ascii),
fuente= Web.Contenido(
«https://api.cognitive.microsofttranslator.com/translate?api-version=3.0&from=en&to=fr-FR»,
[
Headers=
[#»Ocp-Apim-Subscription-Key»=»xxxxxxxxxxxxx»,
#»Content-Type»=»application/json»,
#»Accept»=»application/json»],
Contenido=jsonContent
]
),
json = Json.Documento(fuente),
json1 = json{0},
traducciones = json1[translations],
traducciones1 = traducciones{0}
en
traducciones1
v-huizhn-msft
En respuesta a Anónimo
Hola @Anonimo,
El error significa que debe especificar un nombre de clave API en el área de encabezados de Contenidos web utilizando el editor avanzado. No soy específico con la API, que es parte del desarrollador, consulte la publicación de Chris Webb sobre esto para ver un buen ejemplo: https://blog.crossjoin.co.uk/2014/03/26/working-with-web-services-in-power-query/. O cree un nuevo hilo en la comunidad de desarrolladores de Power BI, donde puede obtener soporte profesional. Y bienvenido a compartir su solución si obtiene una respuesta.
Atentamente,
ángelia
Anónimo
En respuesta a v-huizhn-msft
Hola @v-huizhn-msft,
Pude solucionar ese problema.
Primero, para evitar el problema «Una clave de API web solo se puede especificar cuando se proporciona un nombre de clave de API web» Tuve que establecer la «Configuración de la fuente de datos» en «Anónimo». Debido a que el código M proporciona la lógica de la clave API, no es necesario especificar la clave en la GUI de Power BI.
En segundo lugar, en Power BI hay dos tipos de configuración de fuente de datos: «Fuente de datos en el archivo actual» y «Permisos globales». Según lo que experimenté, la configuración de permisos para la URL que estoy usando debería ser la misma en la configuración Global o Archivo actual. No estoy seguro si esto es 100% correcto, pero funcionó para mi caso. Por lo tanto, configuré el tipo de credencial en «Anónimo» y el nivel de privacidad en «Ninguno».
Posteriormente recibí el mensaje de error «Formula.Firewall: la consulta hace referencia a otras consultas o pasos, por lo que es posible que no acceda directamente a la fuente de datos. Reconstruya esta combinación de datos». Para deshacerme de este error, configuré Power BI para que ignorara la privacidad en la configuración de archivo global o actual en la opción como se menciona en http://community.powerbi.com/t5/Desktop/Formula-Firewall-Query-references-other- consultas-o-pasos/td-….
Ahora, la función de traducción funciona sin errores.
Gracias por tu ayuda.
Salud,
dom
julianpayne_i4
En respuesta a Anónimo
Esto no resolvió mi problema…
codificación en lenguaje de consulta M…
Mi código para crear una función de traducción personalizada:
dejar
Fuente = Web.Contents(«https://api.cognitive.microsoft.com/sts/v1.0″, [Headers=[#»Ocp-Apim-Subscription-Key»=»xxxxxxx»]])
en
Fuente
mi resultado:
404 Error Recurso no encontrado …..
DataSource.Error: Web.Contents no se pudo obtener contenidos de ‘https://api.cognitive.microsoft.com/sts/v1.0’ (404): recurso no encontrado
Detalles:
DataSourceKind=Web
DataSourcePath=https://api.cognitive.microsoft.com/sts/v1.0
Url=https://api.cognitive.microsoft.com/sts/v1.0
He probado muchos otros nombres para la clave api. [Header]:
Clave API
apitoken
Autorización
¿Por qué no se encuentra el recurso?
En Azure, la suscripción me dio la URL que copié y pegué. Veo que otros usuarios usan esta URL; también han tenido problemas para conectarse.
Elegí la autenticación «Anónima», como se ha indicado.