Problemen met de webconnector oplossen
Wat is het verschil tussen Web.Contents, Web.BrowserContents en Web.Page?
Web.Contents
wordt gebruikt voor het ophalen van webinhoud die niet hoeft te worden geopend via een browser, zoals CSV-bestanden, JSON API-resultaten, enzovoort.- Het ondersteunt de meest uiteenlopende verificatieopties.
- Het kan worden gebruikt in cloudomgevingen, zoals Power Query Online, zonder gateway.
Web.Page
is een verouderde functie voor het ophalen van webinhoud die moet worden geopend via een browser, zoals HTML-pagina's.- Het is gebouwd op Internet Explorer. Vanwege deze vereiste wordt deze vervangen in de gebruikersinterface door
Web.BrowserContents
. DeWeb.Page
motor blijft echter beschikbaar op motorniveau voor achterwaartse compatibiliteit. - Er is een gateway vereist om deze te gebruiken in cloudomgevingen, zoals Power Query Online.
Web.BrowserContents
is een bijgewerkte functie voor het ophalen van webinhoud die moet worden geopend via een browser, zoals HTML-pagina's.- In de gebruikersinterface wordt
Web.Page
vervangen,Web.BrowserContents
omdatWeb.Page
deze is gebaseerd op Internet Explorer. Web.BrowserContents
is in eerste instantie gebouwd op Chromium, maar maakt nu gebruik van het WebView2-besturingselement van Microsoft Edge.- Er is een gateway vereist om deze te gebruiken in cloudomgevingen, zoals Power Query Online.
In de volgende tabel krijgt u een overzicht van de verschillen.
Web.Contents | Web.Page | Web.BrowserContents | |
---|---|---|---|
Niet-browserinhoud (.txt/.csv bestanden, JSON, enzovoort) | x | ||
Browserinhoud (HTML) | x | x | |
Ondersteunde verificatietypen | Anoniem Windows Basis Web-API Organisatieaccount |
Anoniem Windows (alleen referenties van de huidige gebruiker) Web-API |
Anoniem Windows Basis Web-API |
Vereist een gateway in cloudhosts | N | J | J |
Momenteel gegenereerd door | Alle hosts | Excel en Power Query Online | Power BI Desktop |
Gebouwd op | .NET | Internet Explorer | WebView2-besturingselement van Microsoft Edge |
Notitie
POST-aanvragen kunnen alleen anoniem worden gedaan wanneer ze worden gebruikt Web.Contents
.
Waarschuwingen 'Deze browser wordt niet meer ondersteund' in de webweergave
Wanneer u een webpagina importeert, kunt u een voorbeeld van de pagina bekijken met behulp van het tabblad Webweergave in het dialoogvenster navigator van Power Query. In dit voorbeeld kan soms een waarschuwing worden weergegeven, zoals 'Deze browser wordt niet meer ondersteund'. Wanneer dit gebeurt, komt dit meestal doordat de webweergave momenteel de voorbeeldweergave van de webweergave weergeeft met Internet Explorer, die niet meer wordt ondersteund door sommige websites. Dit is echter alleen van invloed op de webweergave en heeft geen invloed op de webconnector zelf. Zolang u de connectors gebruikt op basis van Web.Contents of Web.BrowserContents (en niet Web.Page), kunt u dergelijke waarschuwingen veilig negeren. Raadpleeg wat is het verschil tussen Web.Contents, Web.BrowserContents en Web.Page? voor meer informatie over de verschillende webconnectors en de onderliggende technologieën.
Dynamische webpagina's verwerken
Webpagina's die hun inhoud dynamisch laden, kunnen speciale verwerking vereisen. Als u sporadische fouten in uw webquery's ziet, is het mogelijk dat u toegang probeert te krijgen tot een dynamische webpagina. Een veelvoorkomend voorbeeld van dit type fout is:
- U vernieuwt een query die verbinding maakt met de site.
- Er wordt een fout weergegeven (bijvoorbeeld 'de kolom 'Foo' van de tabel is niet gevonden).
- U vernieuwt de query opnieuw.
- Er treedt geen fout op.
Dit soort problemen wordt meestal veroorzaakt door timing. Pagina's die hun inhoud dynamisch laden, kunnen soms inconsistent zijn, omdat de inhoud kan worden gewijzigd nadat de browser van mening is dat het laden is voltooid. Soms downloadt de webconnector de HTML nadat alle dynamische inhoud is geladen. Andere keren worden de wijzigingen nog steeds uitgevoerd wanneer de HTML wordt gedownload, wat tot sporadische fouten leidt.
De oplossing is het gebruik van de WaitFor
optie Web.BrowserContents, die een selector of een tijdsduur aangeeft waarop moet worden gewacht voordat de HTML wordt gedownload.
Hoe kunt u zien of een pagina dynamisch is? Meestal is het vrij eenvoudig. Open de pagina in een browser en bekijk hoe deze wordt geladen. Als de inhoud meteen wordt weergegeven, is dit een gewone HTML-pagina. Als deze dynamisch of na verloop van tijd wordt weergegeven, is het een dynamische pagina.
Een gateway gebruiken met de webconnector
Zowel Web.BrowserContents als Web.Page vereisen dat een on-premises gegevensgateway wordt gebruikt wanneer deze wordt gepubliceerd naar een cloudservice, zoals semantische Power BI-modellen of gegevensstromen, of Power Apps-gegevensstromen. (Op dit moment biedt Dynamics 365 Customer Insights geen ondersteuning voor het gebruik van een gateway.)
Als u Web.Page gebruikt en een Please specify how to connect
foutmelding ontvangt, controleert u of Internet Explorer 10 of hoger is geïnstalleerd op de computer waarop uw on-premises gegevensgateway wordt gehost.
Als u Web.BrowserContents gebruikt en een We were unable to find the WebView2 runtime
foutmelding ontvangt, controleert u of de WebView2-runtime is geïnstalleerd op de computer waarop uw on-premises gegevensgateway wordt gehost. Het foutbericht moet een koppeling naar het webview2 runtime-installatieprogramma bevatten. Als u de runtime hebt geïnstalleerd maar nog steeds de fout ziet, controleert u of het gatewayserviceaccount (meestal PBIEgwService) toegang heeft tot de installatielocatie van de WebView2-runtime (bijvoorbeeld C:\Program Files (x86)\Microsoft\EdgeWebView).
'Er is een fout opgetreden bij het initialiseren van de webbrowser' bij het gebruik van Web.BrowserContents
Deze fout kan optreden als het proces voor het aanroepen van Web.BrowserContents wordt uitgevoerd in verhoogde modus, omdat WebView2 momenteel geen ondersteuning biedt voor uitvoering met beheerdersbevoegdheden.
Web.Page gebruiken in plaats van Web.BrowserContents
In gevallen waarin u moet gebruiken Web.Page
in plaats van Web.BrowserContents
, kunt u nog steeds handmatig gebruiken Web.Page
.
In Power BI Desktop kunt u de oudere Web.Page
functie gebruiken door de deductieoptie Webtabel inschakelen uit te schakelen:
Selecteer Opties en instellingen>op het tabblad Bestand.
Selecteer Power Query-editor in de sectie Algemeen.
Schakel de deductieoptie Webtabel inschakelen uit en selecteer VERVOLGENS OK.
Start Power BI Desktop opnieuw.
Notitie
Op dit moment kunt u het gebruik van
Web.BrowserContents
in Power BI Desktop geoptimaliseerd voor Power BI Report Server niet uitschakelen.
U kunt ook een kopie van een Web.Page
query ophalen uit Excel. De code uit Excel kopiëren:
- Selecteer Van internet op het tabblad Gegevens .
- Voer het adres in het dialoogvenster Van het web in en selecteer VERVOLGENS OK.
- Kies in Navigator de gegevens die u wilt laden en selecteer gegevens transformeren.
- Selecteer Geavanceerde editor op het tabblad Start van Power Query.
- Kopieer de M-formule in de Geavanceerde editor.
- Selecteer in de app die gebruikmaakt
Web.BrowserContents
de connector Lege query . - Als u naar Power BI Desktop kopieert:
- Selecteer Geavanceerde editor op het tabblad Start.
- Plak de gekopieerde
Web.Page
query in de editor en selecteer Gereed.
- Als u naar Power Query Online kopieert:
- Plak in de lege query de gekopieerde
Web.Page
query in de lege query. - Selecteer een on-premises gegevensgateway die u wilt gebruiken.
- Selecteer Volgende.
- Plak in de lege query de gekopieerde
U kunt de volgende code ook handmatig invoeren in een lege query. Zorg ervoor dat u het adres invoert van de webpagina die u wilt laden.
let
Source = Web.Page(Web.Contents("<your address here>")),
Navigation = Source{0}[Data]
in
Navigation
Webaanvragen en certificaatintrekking vastleggen
We hebben de beveiliging van webverbindingen versterkt om uw gegevens te beschermen. Dit betekent echter dat bepaalde scenario's, zoals het vastleggen van webaanvragen met Fiddler, niet meer standaard werken. Ga als volgende te werk om deze scenario's in te schakelen:
Open Power BI Desktop.
Selecteer Opties en instellingen>op het tabblad Bestand.
Schakel in Opties onder Globale>beveiliging het selectievakje Certificaatintrekkingscontrole inschakelen uit.
Selecteer OK.
Start Power BI Desktop opnieuw.
Belangrijk
Houd er rekening mee dat het uitschakelen van het inschakelen van certificaatintrekkingscontrole webverbindingen minder veilig maakt.
Als u dit scenario wilt instellen in Groepsbeleid, gebruikt u de sleutel DisableCertificateRevocationCheck onder het registerpad Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft Power BI Desktop. Als u DisableCertificateRevocationCheck instelt op 0, schakelt u altijd de controle in (waarbij Fiddler en vergelijkbare software niet meer werken) en schakelt u disableCertificateRevocationCheck in op 1 altijd de controle uit (fiddler en vergelijkbare software inschakelen).
De verificatiemethode wijzigen
In sommige gevallen moet u mogelijk de verificatiemethode wijzigen die u gebruikt voor toegang tot een bepaalde site. Als deze wijziging nodig is, gaat u naar De verificatiemethode wijzigen.
Verifiëren bij willekeurige services
Sommige services ondersteunen de mogelijkheid voor de webconnector om te verifiëren met OAuth/Microsoft Entra ID-verificatie. Dit werkt echter niet in de meeste gevallen.
Wanneer u probeert te verifiëren, ziet u de volgende fout:
We were unable to connect because this credential type isn’t supported for this resource. Please choose another credential type.
Neem contact op met de service-eigenaar. Ze moeten de verificatieconfiguratie wijzigen of een aangepaste connector bouwen.
Webconnector maakt gebruik van HTTP 1.1 om te communiceren
De Power Query-webconnector communiceert met een gegevensbron met behulp van HTTP 1.1. Als uw gegevensbron verwacht te communiceren met HTTP 1.0, krijgt u mogelijk een foutmelding, zoals 500 Internal Server Error
.
Het is niet mogelijk om over te schakelen naar Power Query om HTTP 1.0 te gebruiken. Power Query verzendt altijd een Expect:100-continue
wanneer er een hoofdtekst is om te voorkomen dat een mogelijk grote nettolading wordt doorgegeven wanneer de eerste aanroep zelf mislukt (bijvoorbeeld vanwege een gebrek aan machtigingen). Dit gedrag kan momenteel niet worden gewijzigd.
Verbinding maken naar Microsoft Graph
Power Query biedt momenteel geen ondersteuning voor het maken van verbinding met Microsoft Graph REST API's. Meer informatie: Gebrek aan ondersteuning voor Microsoft Graph in Power Query