¿Soporte de traductor de Microsoft?

Un usuario Pregunto ✅

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».

02-11-2017 13-45-32.jpg

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-….

grande.png

Ahora, la función de traducción funciona sin errores.

Gracias por tu ayuda.

Salud,

dom

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

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».

02-11-2017 13-45-32.jpg

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-….

grande.png

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.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *