Udostępnij za pośrednictwem


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

  • 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

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

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

  1. Odśwież zapytanie łączące się z witryną.
  2. Zostanie wyświetlony błąd (na przykład "nie znaleziono kolumny "Foo" tabeli).
  3. Ponownie odświeżasz zapytanie.
  4. 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.BrowserContentsprogramu , 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:

  1. Na karcie Plik wybierz pozycję Opcje i ustawienia>Opcje.

  2. W sekcji Globalne wybierz pozycję Edytor Power Query.

  3. Wyczyść opcję Włącz wnioskowanie tabeli internetowej, a następnie wybierz przycisk OK.

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

  1. Wybierz pozycję Z Sieci Web na karcie Dane .
  2. Wprowadź adres w oknie dialogowym Z sieci Web , a następnie wybierz przycisk OK.
  3. W nawigatorze wybierz dane, które chcesz załadować, a następnie wybierz pozycję Przekształć dane.
  4. Na karcie Narzędzia główne dodatku Power Query wybierz pozycję Edytor zaawansowany.
  5. W Edytor zaawansowany skopiuj formułę M.
  6. W aplikacji korzystającej z Web.BrowserContentsprogramu wybierz łącznik Puste zapytanie .
  7. Jeśli kopiujesz do programu Power BI Desktop:
    1. Na karcie Narzędzia główne wybierz pozycję Edytor zaawansowany.
    2. Wklej skopiowane Web.Page zapytanie w edytorze, a następnie wybierz pozycję Gotowe.
  8. Jeśli kopiujesz do usługi Power Query Online:
    1. W pustym zapytaniu wklej skopiowane Web.Page zapytanie w pustym zapytaniu.
    2. Wybierz lokalną bramę danych do użycia.
    3. Wybierz Dalej.

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:

  1. Otwórz Power BI Desktop.

  2. Na karcie Plik wybierz pozycję Opcje i ustawienia>Opcje.

  3. W obszarze Opcje w obszarze Zabezpieczenia globalne>usuń zaznaczenie pola wyboru Włącz sprawdzanie odwołania certyfikatów.

    Zrzut ekranu przedstawiający zaznaczone pole wyboru Włącz odwoływanie certyfikatów.

  4. Wybierz przycisk OK.

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

Błąd podczas nawiązywania połączenia z punktem końcowym, który nie obsługuje protokołu OAuth z łącznikiem internetowym.

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

Zobacz też