Dela via


Felsöka webbanslutningsappen

Vad är skillnaden mellan Web.Contents, Web.BrowserContents och Web.Page?

Web.Contents

  • 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

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

  • 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.Pageeftersom Web.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:

  1. Du uppdaterar en fråga som ansluter till webbplatsen.
  2. Du ser ett fel (till exempel "kolumnen 'Foo' i tabellen hittades inte").
  3. Du uppdaterar frågan igen.
  4. 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.BrowserContentskan du fortfarande använda Web.Pagemanuellt .

I Power BI Desktop kan du använda den äldre Web.Page funktionen genom att avmarkera alternativet Aktivera webbtabellinferens :

  1. Under fliken Arkiv väljer du Alternativ och inställningar>Alternativ.

  2. I avsnittet Global väljer du Power Query-redigeraren.

  3. Avmarkera alternativet Aktivera webbtabellinferens och välj sedan OK.

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

  1. Välj Från webben på fliken Data .
  2. Ange adressen i dialogrutan Från webben och välj sedan OK.
  3. I Navigatör väljer du de data som du vill läsa in och väljer sedan Transformera data.
  4. På fliken Start i Power Query väljer du Avancerad redigerare.
  5. I Avancerad redigerare kopierar du M-formeln.
  6. I appen som använder Web.BrowserContentsväljer du anslutningsappen Tom fråga .
  7. Om du kopierar till Power BI Desktop:
    1. På fliken Start väljer du Avancerad redigerare.
    2. Klistra in den kopierade Web.Page frågan i redigeraren och välj sedan Klar.
  8. Om du kopierar till Power Query Online:
    1. I den tomma frågan klistrar du in den kopierade Web.Page frågan i den tomma frågan.
    2. Välj en lokal datagateway som ska användas.
    3. Välj Nästa.

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:

  1. Öppna Power BI Desktop.

  2. Under fliken Arkiv väljer du Alternativ och inställningar>Alternativ.

  3. Avmarkera Aktivera återkallningskontroll under Global>säkerhet i Alternativ.

    Skärmbild av kryssrutan Aktivera återkallande av certifikat markerat.

  4. Välj OK.

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

Fel vid anslutning till en slutpunkt som inte stöder OAuth med webbanslutningsappen.

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

Se även