Fehlerbehebung für den Web-Connector
Was ist der Unterschied zwischen Web.Contents, Web.BrowserContents und Web.Page?
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
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.BrowserContents
ersetzt. Aus Gründen der Abwärtskompatibilität wirdWeb.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
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.BrowserContents
Web.Page
, daWeb.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:
- Sie aktualisieren eine Abfrage, die eine Verbindung zur Website herstellt.
- Sie erhalten eine Fehlermeldung (z. B. "die Spalte 'Foo' der Tabelle wurde nicht gefunden").
- Sie aktualisieren die Abfrage erneut.
- 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.BrowserContents
verwenden müssen, können Sie auch manuell Web.Page
verwenden.
In Power BI Desktop können Sie die ältere Funktion Web.Page
verwenden, indem Sie die Option Enable web table inference deaktivieren:
Wählen Sie auf der Registerkarte Datei Optionen und Einstellungen>Optionen.
Wählen Sie im Abschnitt Global die Option Power Query Editor.
Deaktivieren Sie die Option Enable web table inference und wählen Sie dann OK.
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:
- Wählen Sie Aus dem Web auf der Registerkarte Daten.
- Geben Sie die Adresse in das Dialogfeld Aus dem Web ein, und wählen Sie OK.
- Wählen Sie im Navigatordie zu ladenden Daten aus, und wählen Sie dann Daten transformieren.
- Wählen Sie auf der Registerkarte Home von Power Query Advanced Editor.
- Kopieren Sie im Advanced Editordie Formel M.
- Wählen Sie in der Anwendung, die
Web.BrowserContents
verwendet, den Connector Blank Query. - Wenn Sie nach Power BI Desktop kopieren:
- Wählen Sie auf der Registerkarte Home die Option Advanced Editor.
- Fügen Sie die kopierte Abfrage
Web.Page
in den Editor ein, und wählen Sie Fertig.
- Wenn Sie zu Power Query Online kopieren:
- Fügen Sie unter Blank Querydie kopierte Abfrage
Web.Page
in die leere Abfrage ein. - Wählen Sie ein zu verwendendes lokales Daten-Gateway.
- Wählen Sie Weiter aus.
- Fügen Sie unter Blank Querydie kopierte Abfrage
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:
Öffnen Sie Power BI Desktop.
Wählen Sie auf der Registerkarte Datei Optionen und Einstellungen>Optionen.
In Optionen, unter Global>Sicherheit, deaktivieren Sie Zertifikatssperrung aktivieren.
Wählen Sie OK aus.
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.
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