Fehlerbehebung für den Web-Connector

Was ist der Unterschied zwischen Web.Contents, Web.BrowserContents und Web.Page?

Web.Contents

  • Web.Contents wird zum Abrufen von Webinhalten verwendet, auf die nicht über einen Browser zugegriffen werden muss, wie z. B. CSV-Dateien, JSON-API-Ergebnisse usw.
  • Es unterstützt eine Vielzahl von Authentifizierungsoptionen.
  • Es kann in Cloud-Umgebungen, wie Power Query Online, ohne Gateway verwendet werden.

Web.Page

  • Web.Page ist eine Legacy-Funktion zum Abrufen von Webinhalten, auf die über einen Browser zugegriffen werden muss, wie z. B. HTML-Seiten.
  • Sie basiert auf dem Internet Explorer. Aufgrund dieser Anforderung wird es in der Benutzeroberfläche durch Web.BrowserContentsersetzt. Aus Gründen der Abwärtskompatibilität wird Web.Page jedoch weiterhin auf der Motorenebene verfügbar sein.
  • Für die Verwendung in Cloud-Umgebungen, wie z. B. Power Query Online, ist ein Gateway erforderlich.

Web.BrowserContents

  • Web.BrowserContents ist eine aktualisierte Funktion zum Abrufen von Webinhalten, auf die über einen Browser zugegriffen werden muss, wie z.B. HTML-Seiten.
  • In der Benutzeroberfläche ersetzt Web.BrowserContentsWeb.Page, da Web.Page auf dem Internet Explorer basiert.
  • Web.BrowserContents wurde ursprünglich auf Chromium entwickelt, verwendet jetzt aber das WebView2-Steuerelement von Microsoft Edge.
  • Für die Verwendung in Cloud-Umgebungen, wie z. B. Power Query Online, ist ein Gateway erforderlich.

In der folgenden Tabelle sind die Unterschiede zusammengefasst.

Web.Contents Web.Page Web.BrowserContents
Nicht-Browser-Inhalte (.txt/.csv-Dateien, JSON, usw.) x
Browser-Inhalt (HTML) x x
Unterstützte Authentifizierungsarten Anonym
Windows
Basic
Web-API
Organisationskonto
Anonym
Windows (nur die Anmeldedaten des aktuellen Benutzers)
Web-API
Anonym
Windows
Basic
Web-API
Erfordert ein Gateway in Cloud-Hosts N J J
Derzeit generiert von Alle Gastgeber Excel und Power Query Online Power BI Desktop
Aufgebaut auf .NET Internet Explorer WebView2-Steuerelement von Microsoft Edge

Hinweis

POST-Anforderungen können bei Verwendung von Web.Contents nur anonym erfolgen.

warnungen "Dieser Browser wird nicht mehr unterstützt" in der Webansicht

Wenn Sie eine Webseite importieren, können Sie über die Registerkarte Web View im Navigationsdialog von Power Query eine Vorschau der Seite anzeigen. Diese Vorschau kann manchmal eine Warnung wie "Dieser Browser wird nicht mehr unterstützt" anzeigen. Wenn dies geschieht, liegt es in der Regel daran, dass die Webansicht die Vorschau der Webansicht derzeit mit dem Internet Explorer wiedergibt, der von einigen Websites nicht mehr unterstützt wird. Dies wirkt sich jedoch nur auf die Webansicht und nicht auf den Webconnector selbst aus. Solange Sie die Connectoren verwenden, die auf Web.Contents oder Web.BrowserContents (und nicht Web.Page) basieren, können Sie solche Warnungen getrost ignorieren. Unter Was ist der Unterschied zwischen Web.Contents, Web.BrowserContents und Web.Page? finden Sie weitere Informationen zu den verschiedenen Web-Connectors und den ihnen zugrunde liegenden Technologien.

Umgang mit dynamischen Webseiten

Webseiten, die ihren Inhalt dynamisch laden, müssen möglicherweise besonders behandelt werden. Wenn Sie sporadische Fehler in Ihren Webanfragen feststellen, versuchen Sie möglicherweise, auf eine dynamische Webseite zuzugreifen. Ein häufiges Beispiel für diese Art von Fehlern ist:

  1. Sie aktualisieren eine Abfrage, die eine Verbindung zur Website herstellt.
  2. Sie erhalten eine Fehlermeldung (z. B. "die Spalte 'Foo' der Tabelle wurde nicht gefunden").
  3. Sie aktualisieren die Abfrage erneut.
  4. Es tritt kein Fehler auf.

Diese Art von Problemen ist in der Regel auf das Timing zurückzuführen. Seiten, die ihren Inhalt dynamisch laden, können manchmal inkonsistent sein, da sich der Inhalt ändern kann, nachdem der Browser das Laden als abgeschlossen betrachtet. Manchmal lädt der Webconnector den HTML-Code erst herunter, nachdem der gesamte dynamische Inhalt geladen wurde. In anderen Fällen sind die Änderungen noch im Gange, wenn die HTML-Datei heruntergeladen wird, was zu sporadischen Fehlern führt.

Die Lösung besteht darin, die Option WaitFor von Web.BrowserContentszu verwenden, die entweder einen Selektor oder eine Zeitspanne angibt, die vor dem Herunterladen der HTML-Datei abgewartet werden soll.

Woran erkennt man, ob eine Seite dynamisch ist? Normalerweise ist es ziemlich einfach. Öffnen Sie die Seite in einem Browser und beobachten Sie, wie sie geladen wird. Wenn der Inhalt sofort angezeigt wird, handelt es sich um eine normale HTML-Seite. Wenn sie dynamisch erscheint oder sich im Laufe der Zeit ändert, handelt es sich um eine dynamische Seite.

Verwendung eines Gateways mit dem Webconnector

Sowohl Web.BrowserContents als auch Web.Page erfordern die Verwendung eines lokalen Datengateways, wenn sie in einem Clouddienst veröffentlicht werden, z. B. semantische Modelle oder Dataflows von Power BI oder Power Apps-Dataflows. (Derzeit unterstützt Dynamics 365 Customer Insights die Verwendung eines Gateways nicht)

Wenn Sie Web.Page verwenden und die Fehlermeldung Please specify how to connect erhalten, stellen Sie sicher, dass Internet Explorer 10 oder eine neuere Version auf dem Rechner installiert ist, auf dem Ihr lokales Daten-Gateway gehostet wird.

Wenn Sie Web.BrowserContents verwenden und die Fehlermeldung We were unable to find the WebView2 runtime erhalten, vergewissern Sie sich, dass Sie die WebView2 Runtime auf dem Rechner installiert haben, auf dem Ihr lokales Datengateway läuft. Die Fehlermeldung sollte einen Link zum WebView2-Runtime-Installationsprogramm bereitstellen. Wenn Sie die Runtime installiert haben, der Fehler aber immer noch auftritt, vergewissern Sie sich, dass das Gateway-Dienstkonto (in der Regel PBIEgwService) Zugriff auf den Installationsort der WebView2 Runtime hat (z. B. C:\Programme (x86)\Microsoft\EdgeWebView).

Fehler „Bei der Initialisierung des Webbrowsers ist ein Fehler aufgetreten“ bei der Verwendung von Web.BrowserContents

Dieser Fehler kann auftreten, wenn der Prozess, der Web.BrowserContents aufruft, im erweiterten Modus ausgeführt wird, da WebView2 derzeit keine Ausführung mit Administratorrechten unterstützt.

Verwendung von Web.Page anstelle von Web.BrowserContents

In Fällen, in denen Sie Web.Page anstelle von Web.BrowserContentsverwenden müssen, können Sie auch manuell Web.Pageverwenden.

In Power BI Desktop können Sie die ältere Funktion Web.Page verwenden, indem Sie die Option Enable web table inference deaktivieren:

  1. Wählen Sie auf der Registerkarte DateiOptionen und Einstellungen>Optionen.

  2. Wählen Sie im Abschnitt Global die Option Power Query Editor.

  3. Deaktivieren Sie die Option Enable web table inference und wählen Sie dann OK.

  4. Starten Sie Power BI Desktop neu.

    Hinweis

    Derzeit können Sie die Verwendung von Web.BrowserContents in Power BI Desktop, das für Power BI Report Server optimiert ist, nicht deaktivieren.

Sie können auch eine Kopie einer Web.Page Abfrage von Excel erhalten. So kopieren Sie den Code aus Excel:

  1. Wählen Sie Aus dem Web auf der Registerkarte Daten.
  2. Geben Sie die Adresse in das Dialogfeld Aus dem Web ein, und wählen Sie OK.
  3. Wählen Sie im Navigatordie zu ladenden Daten aus, und wählen Sie dann Daten transformieren.
  4. Wählen Sie auf der Registerkarte Home von Power Query Advanced Editor.
  5. Kopieren Sie im Advanced Editordie Formel M.
  6. Wählen Sie in der Anwendung, die Web.BrowserContentsverwendet, den Connector Blank Query.
  7. Wenn Sie nach Power BI Desktop kopieren:
    1. Wählen Sie auf der Registerkarte Home die Option Advanced Editor.
    2. Fügen Sie die kopierte Abfrage Web.Page in den Editor ein, und wählen Sie Fertig.
  8. Wenn Sie zu Power Query Online kopieren:
    1. Fügen Sie unter Blank Querydie kopierte Abfrage Web.Page in die leere Abfrage ein.
    2. Wählen Sie ein zu verwendendes lokales Daten-Gateway.
    3. Wählen Sie Weiter aus.

Sie können den folgenden Code auch manuell in eine leere Abfrage eingeben. Achten Sie darauf, dass Sie die Adresse der Webseite eingeben, die Sie laden möchten.

let
  Source = Web.Page(Web.Contents("<your address here>")),
  Navigation = Source{0}[Data]
in
  Navigation

Erfassen von Webanfragen und Zertifikatsentzug

Wir haben die Sicherheit der Webverbindungen verbessert, um Ihre Daten zu schützen. Dies bedeutet jedoch, dass bestimmte Szenarien, wie das Erfassen von Webanfragen mit Fiddler, nicht mehr standardmäßig funktionieren werden. Um diese Szenarien zu ermöglichen:

  1. Öffnen Sie Power BI Desktop.

  2. Wählen Sie auf der Registerkarte DateiOptionen und Einstellungen>Optionen.

  3. In Optionen, unter Global>Sicherheit, deaktivieren Sie Zertifikatssperrung aktivieren.

    Screenshot des aktivierten Kontrollkästchens Zertifikatssperrung aktivieren.

  4. Wählen Sie OK aus.

  5. Starten Sie Power BI Desktop neu.

Wichtig

Beachten Sie, dass die Deaktivierung von Enable certificate revocation check die Sicherheit von Webverbindungen beeinträchtigt.

Um dieses Szenario in der Gruppenrichtlinie festzulegen, verwenden Sie den Schlüssel "DisableCertificateRevocationCheck" unter dem Registrierungspfad "Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft Power BI Desktop". Wenn Sie "DisableCertificateRevocationCheck" auf 0 setzen, wird die Prüfung immer aktiviert (wodurch Fiddler und ähnliche Software nicht mehr funktioniert) und wenn Sie "DisableCertificateRevocationCheck" auf 1 setzen, wird die Prüfung immer deaktiviert (wodurch Fiddler und ähnliche Software aktiviert wird).

Ändern der Authentifizierungsmethode

In manchen Fällen müssen Sie die Authentifizierungsmethode ändern, die Sie für den Zugriff auf eine bestimmte Website verwenden. Wenn diese Änderung erforderlich ist, gehen Sie zu Ändern Sie die Authentifizierungsmethode.

Authentifizierung für beliebige Dienste

Einige Dienste unterstützen die Fähigkeit des Web Connectors, sich mit OAuth/Microsoft Entra ID-Authentifizierung zu authentifizieren. In den meisten Fällen wird dies jedoch nicht funktionieren.

Wenn Sie versuchen, sich zu authentifizieren, wird der folgende Fehler angezeigt:

We were unable to connect because this credential type isn’t supported for this resource. Please choose another credential type.

Fehler beim Verbinden mit einem Endpunkt, der OAuth nicht unterstützt, mit dem Webconnector.

Wenden Sie sich an den Eigentümer des Dienstes. Sie müssen entweder die Authentifizierungskonfiguration ändern oder einen benutzerdefinierten Connector erstellen.

Der Webconnector verwendet HTTP 1.1 zur Kommunikation

Der Power Query Web Connector kommuniziert mit einer Datenquelle über HTTP 1.1. Wenn Ihre Datenquelle erwartet, mit HTTP 1.0 zu kommunizieren, erhalten Sie möglicherweise eine Fehlermeldung, z. B. 500 Internal Server Error.

Es ist nicht möglich, Power Query auf die Verwendung von HTTP 1.0 umzustellen. Power Query sendet immer eine Expect:100-continue, wenn ein Body vorhanden ist, um die Übergabe einer möglicherweise großen Nutzlast zu vermeiden, wenn der ursprüngliche Aufruf selbst fehlschlagen könnte (z. B. aufgrund fehlender Berechtigungen). Dieses Verhalten kann derzeit nicht geändert werden.

Verbinden mit Microsoft Graph

Power Query unterstützt derzeit keine Verbindungen zu Microsoft Graph REST APIs. Weitere Informationen: Fehlende Unterstützung für Microsoft Graph in Power Query

Weitere Informationen