Rozwiązywanie problemów z łącznikiem sieci Web
Jaka jest różnica między składnikami Web.Contents, Web.BrowserContents i Web.Page?
Web.Contents
Jest używany do pobierania zawartości internetowej, która nie musi być uzyskiwana za pośrednictwem przeglądarki, takich jak pliki CSV, wyniki interfejsu API JSON itd.- Obsługuje on najszerszą gamę opcji uwierzytelniania.
- Można go używać w środowiskach chmury, takich jak Power Query Online, bez bramy.
Web.Page
to starsza funkcja do pobierania zawartości internetowej, która musi być dostępna za pośrednictwem przeglądarki, takiej jak strony HTML.- Jest ona oparta na programie Internet Explorer. Ze względu na to wymaganie jest zastępowane w interfejsie użytkownika elementem
Web.BrowserContents
. JednakWeb.Page
będzie nadal dostępny na poziomie silnika w celu zapewnienia zgodności z poprzednimi wersjami. - Brama jest wymagana do używania jej w środowiskach chmury, takich jak Power Query Online.
Web.BrowserContents
to zaktualizowana funkcja pobierania zawartości internetowej, która musi być dostępna za pośrednictwem przeglądarki, takiej jak strony HTML.- W interfejsie użytkownika
Web.BrowserContents
element zastępuje elementWeb.Page
, ponieważWeb.Page
jest oparty na programie Internet Explorer. Web.BrowserContents
został początkowo zbudowany na chromium, ale teraz używa kontrolki WebView2 przeglądarki Microsoft Edge.- Brama jest wymagana do używania jej w środowiskach chmury, takich jak Power Query Online.
W poniższej tabeli podsumowano różnice.
Web.Contents | Web.Page | Web.BrowserContents | |
---|---|---|---|
Zawartość nieobsługiwania przeglądarki (pliki .txt/.csv, dane JSON itd.) | x | ||
Zawartość przeglądarki (HTML) | x | x | |
Obsługiwane typy uwierzytelniania | Anonimowe Windows Podstawowy Internetowy interfejs API Konto organizacyjne |
Anonimowe Windows (tylko poświadczenia bieżącego użytkownika) Internetowy interfejs API |
Anonimowe Windows Podstawowy Internetowy interfejs API |
Wymaga bramy na hostach w chmurze | N | Y | Y |
Obecnie generowane przez | Wszystkie hosty | Excel i Power Query Online | Power BI Desktop |
Zbudowany na | .NET | Internet Explorer | Kontrolka WebView2 przeglądarki Microsoft Edge |
Uwaga
Żądania POST można wysyłać anonimowo tylko w przypadku używania polecenia Web.Contents
.
Ostrzeżenia "Ta przeglądarka nie jest już obsługiwana" w widoku internetowym
Podczas importowania strony internetowej można wyświetlić podgląd strony przy użyciu karty Widok internetowy w oknie dialogowym nawigatora dodatku Power Query. Ta wersja zapoznawcza może czasami wyświetlać ostrzeżenie, takie jak "Ta przeglądarka nie jest już obsługiwana". W takim przypadku zazwyczaj jest to spowodowane tym, że widok sieci Web renderuje obecnie podgląd widoku sieci Web przy użyciu programu Internet Explorer, który nie jest już obsługiwany przez niektóre witryny sieci Web. Ma to jednak wpływ tylko na widok sieci Web i nie ma wpływu na sam łącznik sieci Web. Tak długo, jak używasz łączników opartych na składniku Web.Contents lub Web.BrowserContents (a nie Web.Page), możesz bezpiecznie zignorować takie ostrzeżenia. Aby uzyskać więcej informacji na temat różnych łączników sieci Web i ich podstawowych technologii, zapoznaj się z tematem Jaka jest różnica między składnikami Web.Contents, Web.BrowserContents i Web.Page?
Obsługa dynamicznych stron internetowych
Strony internetowe, które dynamicznie ładują swoją zawartość, mogą wymagać specjalnej obsługi. Jeśli zauważysz sporadyczne błędy w zapytaniach internetowych, możliwe, że próbujesz uzyskać dostęp do dynamicznej strony internetowej. Jednym z typowych przykładów tego typu błędu jest:
- Odśwież zapytanie łączące się z witryną.
- Zostanie wyświetlony błąd (na przykład "nie znaleziono kolumny "Foo" tabeli).
- Ponownie odświeżasz zapytanie.
- Nie występuje błąd.
Tego rodzaju problemy są zwykle spowodowane czasem. Strony ładujące zawartość dynamicznie mogą być czasami niespójne, ponieważ zawartość może ulec zmianie po zakończeniu ładowania w przeglądarce. Czasami łącznik internetowy pobiera kod HTML po załadowaniu całej zawartości dynamicznej. Innym razem zmiany są nadal w toku, gdy pobiera kod HTML, co prowadzi do sporadycznych błędów.
Rozwiązaniem jest użycie WaitFor
opcji Web.BrowserContents, która wskazuje selektor lub czas oczekiwania na przed pobraniem kodu HTML.
Jak sprawdzić, czy strona jest dynamiczna? Zazwyczaj jest to dość proste. Otwórz stronę w przeglądarce i obejrzyj jej ładowanie. Jeśli zawartość jest wyświetlana od razu, jest to zwykła strona HTML. Jeśli pojawia się dynamicznie lub zmienia się w czasie, jest to strona dynamiczna.
Używanie bramy z łącznikiem sieci Web
Zarówno Web.BrowserContents , jak i Web.Page wymagają użycia lokalnej bramy danych podczas publikowania w usłudze w chmurze, takiej jak modele semantyczne lub przepływy danych usługi Power BI lub przepływy danych usługi Power Apps. (Obecnie usługa Dynamics 365 Customer Szczegółowe informacje nie obsługuje korzystania z bramy).
Jeśli używasz Web.Page i występuje błąd, upewnij się, że na maszynie, która hostuje lokalną bramę Please specify how to connect
danych, masz zainstalowany program Internet Explorer 10 lub nowszy.
Jeśli używasz elementu Web.BrowserContents i wystąpi We were unable to find the WebView2 runtime
błąd, upewnij się, że na maszynie, na której jest hostowana lokalna brama danych, jest zainstalowane środowisko uruchomieniowe WebView2. Komunikat o błędzie powinien podać link do instalatora środowiska uruchomieniowego WebView2. Jeśli środowisko uruchomieniowe zostało zainstalowane, ale nadal występuje błąd, upewnij się, że konto usługi bramy (zazwyczaj PBIEgwService) ma dostęp do lokalizacji instalacji środowiska uruchomieniowego WebView2 (na przykład C:\Program Files (x86)\Microsoft\EdgeWebView.
Błąd "Wystąpił błąd podczas inicjowania przeglądarki internetowej" podczas korzystania z elementu Web.BrowserContents
Ten błąd może wystąpić, jeśli proces wywołujący element Web.BrowserContents jest uruchomiony w trybie podwyższonym uprawnień, ponieważ element WebView2 obecnie nie obsługuje uruchamiania z uprawnieniami administratora.
Używanie Web.Page zamiast Web.BrowserContents
W przypadkach, w których należy użyć Web.Page
zamiast Web.BrowserContents
programu , można nadal ręcznie użyć polecenia Web.Page
.
W programie Power BI Desktop możesz użyć starszej Web.Page
funkcji, usuwając wyczyszczenie opcji Włącz wnioskowanie tabeli internetowej:
Na karcie Plik wybierz pozycję Opcje i ustawienia>Opcje.
W sekcji Globalne wybierz pozycję Edytor Power Query.
Wyczyść opcję Włącz wnioskowanie tabeli internetowej, a następnie wybierz przycisk OK.
Uruchom ponownie program Power BI Desktop.
Uwaga
Obecnie nie można wyłączyć korzystania z programu
Web.BrowserContents
Power BI Desktop zoptymalizowanego pod kątem Serwer raportów usługi Power BI.
Możesz również pobrać kopię Web.Page
zapytania z programu Excel. Aby skopiować kod z programu Excel:
- Wybierz pozycję Z Sieci Web na karcie Dane .
- Wprowadź adres w oknie dialogowym Z sieci Web , a następnie wybierz przycisk OK.
- W nawigatorze wybierz dane, które chcesz załadować, a następnie wybierz pozycję Przekształć dane.
- Na karcie Narzędzia główne dodatku Power Query wybierz pozycję Edytor zaawansowany.
- W Edytor zaawansowany skopiuj formułę M.
- W aplikacji korzystającej z
Web.BrowserContents
programu wybierz łącznik Puste zapytanie . - Jeśli kopiujesz do programu Power BI Desktop:
- Na karcie Narzędzia główne wybierz pozycję Edytor zaawansowany.
- Wklej skopiowane
Web.Page
zapytanie w edytorze, a następnie wybierz pozycję Gotowe.
- Jeśli kopiujesz do usługi Power Query Online:
- W pustym zapytaniu wklej skopiowane
Web.Page
zapytanie w pustym zapytaniu. - Wybierz lokalną bramę danych do użycia.
- Wybierz Dalej.
- W pustym zapytaniu wklej skopiowane
Możesz również ręcznie wprowadzić następujący kod do pustego zapytania. Upewnij się, że wprowadzasz adres strony internetowej, którą chcesz załadować.
let
Source = Web.Page(Web.Contents("<your address here>")),
Navigation = Source{0}[Data]
in
Navigation
Przechwytywanie żądań internetowych i odwołania certyfikatów
Zwiększyliśmy bezpieczeństwo połączeń internetowych w celu ochrony Twoich danych. Oznacza to jednak, że niektóre scenariusze, takie jak przechwytywanie żądań internetowych za pomocą programu Fiddler, nie będą już działać domyślnie. Aby włączyć te scenariusze:
Otwórz Power BI Desktop.
Na karcie Plik wybierz pozycję Opcje i ustawienia>Opcje.
W obszarze Opcje w obszarze Zabezpieczenia globalne>usuń zaznaczenie pola wyboru Włącz sprawdzanie odwołania certyfikatów.
Wybierz przycisk OK.
Uruchom ponownie program Power BI Desktop.
Ważne
Należy pamiętać, że usunięcie zaznaczenia opcji Włącz sprawdzanie odwołania certyfikatów spowoduje, że połączenia internetowe będą mniej bezpieczne.
Aby ustawić ten scenariusz w zasadach grupy, użyj klucza "DisableCertificateRevocationCheck" w ścieżce rejestru "Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft Power BI Desktop". Ustawienie wartości "DisableCertificateRevocationCheck" na 0 zawsze spowoduje włączenie sprawdzania (zatrzymywanie programu Fiddler i podobnego oprogramowania przed działaniem) i ustawienie "DisableCertificateRevocationCheck" na 1 zawsze spowoduje wyłączenie sprawdzania (włączenie programu Fiddler i podobnego oprogramowania).
Zmiana metody uwierzytelniania
W niektórych przypadkach może być konieczne zmianę metody uwierzytelniania używanej do uzyskania dostępu do określonej witryny. Jeśli ta zmiana jest konieczna, przejdź do pozycji Zmień metodę uwierzytelniania.
Uwierzytelnianie do dowolnych usług
Niektóre usługi obsługują możliwość uwierzytelniania łącznika sieci Web za pomocą uwierzytelniania OAuth/Microsoft Entra ID poza polem. Jednak w większości przypadków nie będzie to działać.
Jeśli podczas próby uwierzytelnienia zostanie wyświetlony następujący błąd:
We were unable to connect because this credential type isn’t supported for this resource. Please choose another credential type.
Skontaktuj się z właścicielem usługi. Muszą zmienić konfigurację uwierzytelniania lub utworzyć łącznik niestandardowy.
Łącznik sieci Web używa protokołu HTTP 1.1 do komunikacji
Łącznik sieci Web dodatku Power Query komunikuje się ze źródłem danych przy użyciu protokołu HTTP 1.1. Jeśli źródło danych oczekuje komunikacji przy użyciu protokołu HTTP 1.0, może zostać wyświetlony błąd, taki jak 500 Internal Server Error
.
Nie można przełączyć dodatku Power Query do używania protokołu HTTP 1.0. Dodatek Power Query zawsze wysyła Expect:100-continue
treść, aby uniknąć przekazywania prawdopodobnie dużego ładunku, gdy początkowe wywołanie może zakończyć się niepowodzeniem (na przykład z powodu braku uprawnień). Obecnie nie można zmienić tego zachowania.
Połączenie do programu Microsoft Graph
Dodatek Power Query obecnie nie obsługuje nawiązywania połączenia z interfejsami API REST programu Microsoft Graph. Więcej informacji: Brak obsługi programu Microsoft Graph w dodatku Power Query