Felsöka webbanslutningsappen
Vad är skillnaden mellan Web.Contents, Web.BrowserContents och Web.Page?
Web.Contents
används för att hämta webbinnehåll som inte behöver nås via en webbläsare, till exempel CSV-filer, JSON API-resultat och så vidare.- Den stöder den bredaste variationen av autentiseringsalternativ.
- Den kan användas i molnmiljöer, till exempel Power Query Online, utan en gateway.
Web.Page
är en äldre funktion för att hämta webbinnehåll som måste nås via en webbläsare, till exempel HTML-sidor.- Den bygger på Internet Explorer. På grund av det här kravet ersätts det i användargränssnittet med
Web.BrowserContents
. Kommer dockWeb.Page
att fortsätta att vara tillgängligt på motornivå för bakåtkompatibilitet. - En gateway krävs för att använda den i molnmiljöer, till exempel Power Query Online.
Web.BrowserContents
är en uppdaterad funktion för att hämta webbinnehåll som måste nås via en webbläsare, till exempel HTML-sidor.- I användargränssnittet
Web.BrowserContents
ersätter ,Web.Page
eftersomWeb.Page
är baserat på Internet Explorer. Web.BrowserContents
byggdes ursprungligen på Chromium, men använder nu Microsoft Edge WebView2-kontroll.- En gateway krävs för att använda den i molnmiljöer, till exempel Power Query Online.
I följande register sammanfattas skillnaderna.
Web.Contents | Web.Page | Web.BrowserContents | |
---|---|---|---|
Innehåll som inte är webbläsarbaserat (.txt/.csv filer, JSON och så vidare) | x | ||
Webbläsarinnehåll (HTML) | x | x | |
Autentiseringstyper som stöds | Anonym Windows Grundläggande Webb-API Organisationskonto |
Anonym Windows (endast den aktuella användarens autentiseringsuppgifter) Webb-API |
Anonym Windows Grundläggande Webb-API |
Kräver en gateway i molnvärdar | N | Y | Y |
Genereras för närvarande av | Alla värdar | Excel och Power Query Online | Power BI Desktop |
Byggd på | .NET | Internet Explorer | Microsoft Edge WebView2-kontroll |
Kommentar
POST-begäranden kan endast göras anonymt när du använder Web.Contents
.
Varningar om att den här webbläsaren inte längre stöds i webbvyn
När du importerar en webbsida kan du visa en förhandsgranskning av sidan med hjälp av fliken Webbvy i dialogrutan för Navigering i Power Query. Den här förhandsversionen kan ibland visa en varning, till exempel "Den här webbläsaren stöds inte längre". När detta händer beror det vanligtvis på att webbvyn för närvarande återger webbvyns förhandsgranskning med Hjälp av Internet Explorer, som inte längre stöds av vissa webbplatser. Detta påverkar dock bara webbvyn och påverkar inte själva webbanslutningen. Så länge du använder anslutningsapparna baserat på Web.Contents eller Web.BrowserContents (och inte Web.Page) kan du ignorera sådana varningar på ett säkert sätt. Se Vad är skillnaden mellan Web.Contents, Web.BrowserContents och Web.Page? för mer information om de olika webbanslutningarna och deras underliggande tekniker.
Hantera dynamiska webbsidor
Webbsidor som läser in innehållet dynamiskt kan kräva särskild hantering. Om du märker sporadiska fel i dina webbfrågor är det möjligt att du försöker komma åt en dynamisk webbsida. Ett vanligt exempel på den här typen av fel är:
- Du uppdaterar en fråga som ansluter till webbplatsen.
- Du ser ett fel (till exempel "kolumnen 'Foo' i tabellen hittades inte").
- Du uppdaterar frågan igen.
- Inget fel inträffar.
Den här typen av problem beror vanligtvis på tidpunkten. Sidor som läser in innehållet dynamiskt kan ibland vara inkonsekventa eftersom innehållet kan ändras när webbläsaren överväger att läsa in. Ibland laddar webbanslutningsappen ned HTML-koden när allt dynamiskt innehåll har lästs in. Andra gånger som ändringarna fortfarande pågår när html-koden laddas ned, vilket leder till sporadiska fel.
Lösningen är att använda WaitFor
alternativet Web.BrowserContents, som anger antingen en väljare eller en tidsperiod som ska väntas innan HTML-koden laddas ned.
Hur vet du om en sida är dynamisk? Vanligtvis är det ganska enkelt. Öppna sidan i en webbläsare och se den läsas in. Om innehållet visas direkt är det en vanlig HTML-sida. Om det visas dynamiskt eller ändras över tid är det en dynamisk sida.
Använda en gateway med webbanslutningsappen
Både Web.BrowserContents och Web.Page kräver användning av en lokal datagateway när den publiceras till en molntjänst, till exempel Power BI-semantiska modeller eller dataflöden eller Power Apps-dataflöden. (Dynamics 365 Customer Insights stöder för närvarande inte användning av en gateway.)
Om du använder Web.Page och får ett Please specify how to connect
fel kontrollerar du att Internet Explorer 10 eller senare är installerat på den dator som är värd för din lokala datagateway.
Om du använder Web.BrowserContents och får ett We were unable to find the WebView2 runtime
fel kontrollerar du att WebView2-körningen är installerad på den dator som är värd för din lokala datagateway. Felmeddelandet ska ge en länk till Installationsprogrammet för WebView2-körning. Om du har installerat körningen men fortfarande ser felet kontrollerar du att gatewaytjänstkontot (vanligtvis PBIEgwService) har åtkomst till installationsplatsen för WebView2-körningen (till exempel C:\Program Files (x86)\Microsoft\EdgeWebView).
"Vi påträffade ett fel när webbläsaren initieras" när web.BrowserContents används
Det här felet kan inträffa om processen som anropar Web.BrowserContents körs i förhöjd läge, eftersom WebView2 för närvarande inte stöder körning med administratörsbehörighet.
Använda Web.Page i stället för Web.BrowserContents
Om du behöver använda Web.Page
i stället för Web.BrowserContents
kan du fortfarande använda Web.Page
manuellt .
I Power BI Desktop kan du använda den äldre Web.Page
funktionen genom att avmarkera alternativet Aktivera webbtabellinferens :
Under fliken Arkiv väljer du Alternativ och inställningar>Alternativ.
I avsnittet Global väljer du Power Query-redigeraren.
Avmarkera alternativet Aktivera webbtabellinferens och välj sedan OK.
Starta om Power BI Desktop.
Kommentar
För närvarande kan du inte inaktivera användningen av
Web.BrowserContents
i Power BI Desktop som är optimerad för Power BI-rapportserver.
Du kan också hämta en kopia av en Web.Page
fråga från Excel. Kopiera koden från Excel:
- Välj Från webben på fliken Data .
- Ange adressen i dialogrutan Från webben och välj sedan OK.
- I Navigatör väljer du de data som du vill läsa in och väljer sedan Transformera data.
- På fliken Start i Power Query väljer du Avancerad redigerare.
- I Avancerad redigerare kopierar du M-formeln.
- I appen som använder
Web.BrowserContents
väljer du anslutningsappen Tom fråga . - Om du kopierar till Power BI Desktop:
- På fliken Start väljer du Avancerad redigerare.
- Klistra in den kopierade
Web.Page
frågan i redigeraren och välj sedan Klar.
- Om du kopierar till Power Query Online:
- I den tomma frågan klistrar du in den kopierade
Web.Page
frågan i den tomma frågan. - Välj en lokal datagateway som ska användas.
- Välj Nästa.
- I den tomma frågan klistrar du in den kopierade
Du kan också ange följande kod manuellt i en tom fråga. Se till att du anger adressen till den webbsida som du vill läsa in.
let
Source = Web.Page(Web.Contents("<your address here>")),
Navigation = Source{0}[Data]
in
Navigation
Samla in webbbegäranden och återkalla certifikat
Vi har förstärkt säkerheten för webbanslutningar för att skydda dina data. Det innebär dock att vissa scenarier, som att samla in webbbegäranden med Fiddler, inte längre fungerar som standard. Så här aktiverar du dessa scenarier:
Öppna Power BI Desktop.
Under fliken Arkiv väljer du Alternativ och inställningar>Alternativ.
Avmarkera Aktivera återkallningskontroll under Global>säkerhet i Alternativ.
Välj OK.
Starta om Power BI Desktop.
Viktigt!
Tänk på att om du avmarkerar Aktivera kontroll av återkallade certifikat blir webbanslutningarna mindre säkra.
Om du vill ange det här scenariot i Grupprincip använder du nyckeln "DisableCertificateRevocationCheck" under registersökvägen "Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft Power BI Desktop". Om du anger "DisableCertificateRevocationCheck" till 0 aktiveras alltid kontrollen (stoppa Fiddler och liknande programvara från att fungera) och inställningen "DisableCertificateRevocationCheck" till 1 inaktiverar alltid kontrollen (aktivering av Fiddler och liknande programvara).
Ändra autentiseringsmetoden
I vissa fall kan du behöva ändra den autentiseringsmetod som du använder för att få åtkomst till en viss webbplats. Om den här ändringen är nödvändig går du till Ändra autentiseringsmetoden.
Autentisera till godtyckliga tjänster
Vissa tjänster stöder möjligheten för webbanslutningsappen att autentisera med OAuth-/Microsoft Entra-ID-autentisering direkt. Detta fungerar dock inte i de flesta fall.
Om du ser följande fel när du försöker autentisera:
We were unable to connect because this credential type isn’t supported for this resource. Please choose another credential type.
Kontakta tjänstens ägare. De måste antingen ändra autentiseringskonfigurationen eller skapa en anpassad anslutningsapp.
Webbanslutningen använder HTTP 1.1 för att kommunicera
Power Query-webbanslutningsappen kommunicerar med en datakälla med http 1.1. Om datakällan förväntar sig att kommunicera med HTTP 1.0 kan du få ett fel, till exempel 500 Internal Server Error
.
Det går inte att växla Power Query till att använda HTTP 1.0. Power Query skickar alltid en Expect:100-continue
när det finns en brödtext för att undvika att skicka en möjligen stor nyttolast när det första anropet i sig kan misslyckas (till exempel på grund av brist på behörigheter). Det här beteendet kan för närvarande inte ändras.
Anslut till Microsoft Graph
Power Query stöder för närvarande inte anslutning till Microsoft Graph REST API:er. Mer information: Brist på support för Microsoft Graph i Power Query