Solución de problemas del conector web
Solución de problemas del conector web de Power Query
Web.Contents
se utiliza para recuperar contenido web al cual no es necesario acceder a través de un navegador, tales como archivos CSV, resultados de la API JSON,etc.- Admite la más amplia variedad de opciones de autenticación.
- Se puede usar en entornos en la nube, como Power Query Online, sin una puerta de enlace.
Web.Page
es una función heredada para recuperar contenido web al que se debe acceder a través de un navegador, como páginas HTML.- Se basa en Internet Explorer. Debido a este requisito, se está reemplazando en la interfaz de usuario con
Web.BrowserContents
. Sin embargo,Web.Page
seguirá estando disponible a nivel del motor para la compatibilidad con versiones anteriores. - Se requiere de una puerta de enlace para usarla en entornos en la nube, como Power Query Online.
Web.BrowserContents
es una función actualizada para recuperar contenido web al que se debe acceder a través de un navegador, como páginas HTML.- En la interfaz de usuario,
Web.BrowserContents
está reemplazandoWeb.Page
, porqueWeb.Page
se basa en Internet Explorer. Web.BrowserContents
fue construido inicialmente en Chromium, pero ahora utiliza el control WebView2 de Microsoft Edge.- Se requiere de una puerta de enlace para usarla en entornos en la nube, como Power Query Online.
En la tabla siguiente se resumen las diferencias.
Web.Contents | Web.Page | Web.BrowserContents | |
---|---|---|---|
Contenido que no es del navegador (.txt/.csv files, JSON, etc.) | x | ||
Contenido del navegador (HTML) | x | x | |
Tipos de autenticación admitidos | Anónimas Windows Basic API Web Cuenta de organización |
Anónimas Windows (solo credenciales del usuario actual) API Web |
Anónimas Windows Basic API Web |
Requiere una puerta de enlace en los hosts en la nube | N | Y | Y |
Actualmente generado por | Todos los hosts | Excel y Power Query Online | Power BI Desktop |
Construido en | .NET | Internet Explorer | Control WebView2 de Microsoft Edge |
Nota:
Las solicitudes POST solo se pueden realizar de forma anónima cuando se utiliza Web.Contents
.
Advertencias de que "Este navegador ya no es compatible" en la vista web
Al importar una página web, puede ver una vista previa de la página mediante la pestaña de Vista Web en el cuadro de diálogo del navegador de Power Query. Esta vista previa a veces puede mostrar una advertencia como "Este navegador ya no es compatible". Cuando esto sucede, generalmente se debe a que la Vista web actualmente muestra la vista previa de la vista web con Internet Explorer, que ya no es compatible con algunos sitios web. Sin embargo, esto solo afecta a la vista web y no al conector web en sí. Siempre que esté utilizando los conectores basados en Web.Contents o Web.BrowserContents (y no Web.Page), puede ignorar con seguridad tales advertencias. Consulte, ¿cuál es la diferencia entre Web.Page, Web.BrowserContents, y Web.Page? para obtener mayor información sobre los diferentes conectores web y sus tecnologías subyacentes.
Manejo de páginas web dinámicas
Las páginas web que cargan su contenido de forma dinámica pueden requerir un manejo especial. Si observa errores esporádicos en sus consultas web, es posible que esté intentando acceder a una página web dinámica. Un ejemplo común de este tipo de error es:
- Actualice una consulta que se conecta al sitio.
- Aparece un error (por ejemplo, " no se encontró la columna 'Foo' de la tabla").
- Actualice la consulta de nuevo.
- No se produce ningún error.
Este tipo de problemas generalmente se deben al tiempo. Las páginas que cargan su contenido de forma dinámica a veces pueden ser inconsistentes, ya que el contenido puede cambiar después de que el navegador considere que la carga se ha completado. A veces, el conector web descarga el HTML después de que se haya cargado todo el contenido dinámico. Otras veces, los cambios aún están en progreso cuando descarga el HTML, lo que genera errores esporádicos.
La solución es usar la WaitFor
opción de Web.BrowserContents, que indica un selector o un período de tiempo que debe esperarse antes de descargar el HTML.
¿Cómo saber si una página es dinámica? Por lo general, es bastante simple. Abra la página en un navegador y observe cómo se carga. Si el contenido aparece de inmediato, es una página HTML normal. Si aparece de forma dinámica o cambia con el tiempo, es una página dinámica.
Uso de una puerta de enlace con el conector web
Ambos la Web.BrowserContents y la Web.Page requerir el uso de una puerta de enlace de datos local cuando se publica en un servicio en la nube, tales como modelos semánticos o flujos de datos de Power BI, o flujos de datos de Power Apps. (Actualmente, Dynamics 365 Customer Insights no admite el uso de una puerta de enlace.)
Si estás usando Web.Page y recibe un Please specify how to connect
error, asegúrese de tener Internet Explorer 10 o posterior instalado en la máquina que aloja la puerta de enlace de datos local.
Si está usando Web.BrowserContents y recibe un error We were unable to find the WebView2 runtime
, asegúrese de tener el runtime WebView2 instalado en la máquina que aloja la puerta de enlace de datos local. El mensaje de error debe proporcionar un vínculo al instalador del runtime WebView2. Si ha instalado el runtime, pero sigue viendo el error, asegúrese de que la cuenta de servicio de puerta de enlace (normalmente PBIEgwService) tenga acceso a la ubicación de instalación del runtime WebView2 (por ejemplo, C:\Archivos de programa (x86)\Microsoft\EdgeWebView).
Errores "Hemos encontrado un error al inicializar el explorador web" al usar Web.BrowserContents
Este error puede producirse si el proceso que llama a Web.BrowserContents se ejecuta con permisos elevados, ya que WebView2 actualmente no admite la ejecución con privilegios de administrador.
Uso de la Web.Page en lugar de Web.BrowserContents
En los casos en que necesite usar Web.Page
en lugar de Web.BrowserContents
, todavía puede usar manualmente Web.Page
.
En el espacio de trabajo de Power BI, puede usar la función de las versiones anteriores Web.Page
borrando la opción de Habilitar la inferencia de tablas web:
Bajo la pestaña del Archivo, seleccionar las opciones de Opciones y ajustes>.
En la sección Global, seleccione el Editor de Consultas de Energía.
Borre la opción de Habilitar la inferencia de tablas web y, a continuación, seleccione OK.
Reinicie Power BI Desktop.
Nota:
Actualmente, no puede desactivar el uso de
Web.BrowserContents
en el espacio de trabajo de Power BI optimizado para el servidor de informes de Power BI.
También puede obtener una copia de una Web.Page
consulta desde Excel. Para copiar el código de Excel:
- Seleccione Desde la Web desdela pestaña de Datos.
- Introduzca la dirección en el campo del cuadro de diálogo Desde la Web y, a continuación, seleccione OK.
- En el Navegador, elija los datos que desea cargar y, a continuación, seleccione Transformar Datos.
- Enla pestaña de Inicio de Power Query, seleccione el Editor Avanzado.
- En el Editor Avanzado, copie la fórmula M.
- En la aplicación que utiliza
Web.BrowserContents
, seleccione el conector de Consulta en Blanco. - Si está copiando en el espacio de trabajo de Power BI:
- En la pestaña de Inicio, seleccionar Editor Avanzado.
- Pegar lo copiado de la
Web.Page
consulta en el editor y, a continuación, seleccione Terminado.
- Si está copiando a Power Query Online:
- En la Consulta en Blanco, peguela consulta de copiado
Web.Page
en la consulta en blanco. - Seleccione una puerta de enlace de datos local para usar.
- Seleccione Siguiente.
- En la Consulta en Blanco, peguela consulta de copiado
También puede ingresar manualmente el siguiente código en una consulta en blanco. Asegúrese de introducir la dirección de la página web que desea cargar.
let
Source = Web.Page(Web.Contents("<your address here>")),
Navigation = Source{0}[Data]
in
Navigation
Captura de solicitudes web y revocación de certificados
Hemos reforzado la seguridad de las conexiones web para proteger sus datos. Sin embargo, esto significa que ciertos escenarios, tales como la captura de solicitudes web con Fiddler, ya no funcionarán de forma predeterminada. Para habilitar esos escenarios:
Abra Power BI Desktop.
Bajo la pestaña del Archivo, seleccionar las opciones de Opciones y ajustes>.
En Opciones, bajo Seguridad >Global, desmarque Habilitar la comprobación de revocación de certificados.
Seleccione Aceptar.
Reinicie Power BI Desktop.
Importante
Tenga en cuenta que desmarcar Habilitar la comprobación de revocación de certificados hará que las conexiones web sean menos seguras.
Para establecer este escenario en la directiva de grupo, use la clave "DisableCertificateRevocationCheck" key bajo la ruta de registro "Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft Power BI Desktop". Establecer "DisableCertificateRevocationCheck" en 0 siempre habilitará la verificación (evitando que Fiddler y el software similar funcionen) y establecer "DisableCertificateRevocationCheck" en 1 siempre deshabilitará la verificación (habilitando Fiddler y el software similar).
Cambiar el método de autenticación
En algunos casos, es posible que deba cambiar el método de autenticación que utiliza para acceder a un sitio en particular. Si este cambio es necesario, vaya a Cambiar el método de autenticación.
Autenticación en servicios arbitrarios
Algunos servicios admiten la capacidad del conector web para autenticarse con autenticación OAuth/Microsoft Entra ID que está lista para usarla. Sin embargo, esto no funcionará en la mayoría de los casos.
Al intentar autenticarse, si ve el siguiente error:
We were unable to connect because this credential type isn’t supported for this resource. Please choose another credential type.
Póngase en contacto con el propietario del servicio. Tienen que cambiar la configuración de autenticación o crear un conector personalizado.
El conector Web utiliza HTTP 1.1 para comunicarse
El conector web de Power Query se comunica con un origen de datos mediante HTTP 1.1. Si su fuente de datos espera comunicarse mediante HTTP 1.0, es posible que reciba un error, como el siguiente 500 Internal Server Error
.
No es posible cambiar Power Query para usar HTTP 1.0. Power Query siempre envía un Expect:100-continue
cuando hay un cuerpo para evitar pasar una carga útil posiblemente grande cuando la llamada inicial en sí misma puede fallar (por ejemplo, debido a la falta de permisos). Actualmente, este comportamiento no se puede cambiar.
Conexión a Microsoft Graph
Power Query actualmente no admite la conexión a Microsoft Graph en EL RESTO DE LAS API. Mayor información: Falta de compatibilidad con Microsoft Graph en Power Query