Delen via


Problemen met de webconnector oplossen

Wat is het verschil tussen Web.Contents, Web.BrowserContents en Web.Page?

Web.Contents

  • 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

  • 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. De Web.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

  • 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.Pagevervangen, Web.BrowserContents omdat Web.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:

  1. U vernieuwt een query die verbinding maakt met de site.
  2. Er wordt een fout weergegeven (bijvoorbeeld 'de kolom 'Foo' van de tabel is niet gevonden).
  3. U vernieuwt de query opnieuw.
  4. 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:

  1. Selecteer Opties en instellingen>op het tabblad Bestand.

  2. Selecteer Power Query-editor in de sectie Algemeen.

  3. Schakel de deductieoptie Webtabel inschakelen uit en selecteer VERVOLGENS OK.

  4. 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:

  1. Selecteer Van internet op het tabblad Gegevens .
  2. Voer het adres in het dialoogvenster Van het web in en selecteer VERVOLGENS OK.
  3. Kies in Navigator de gegevens die u wilt laden en selecteer gegevens transformeren.
  4. Selecteer Geavanceerde editor op het tabblad Start van Power Query.
  5. Kopieer de M-formule in de Geavanceerde editor.
  6. Selecteer in de app die gebruikmaakt Web.BrowserContentsde connector Lege query .
  7. Als u naar Power BI Desktop kopieert:
    1. Selecteer Geavanceerde editor op het tabblad Start.
    2. Plak de gekopieerde Web.Page query in de editor en selecteer Gereed.
  8. Als u naar Power Query Online kopieert:
    1. Plak in de lege query de gekopieerde Web.Page query in de lege query.
    2. Selecteer een on-premises gegevensgateway die u wilt gebruiken.
    3. Selecteer Volgende.

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:

  1. Open Power BI Desktop.

  2. Selecteer Opties en instellingen>op het tabblad Bestand.

  3. Schakel in Opties onder Globale>beveiliging het selectievakje Certificaatintrekkingscontrole inschakelen uit.

    Schermopname van het selectievakje Certificaatintrekking inschakelen ingeschakeld.

  4. Selecteer OK.

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

Fout bij het maken van verbinding met een eindpunt dat geen ondersteuning biedt voor OAuth met de webconnector.

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

Zie ook