Pemecahan masalah konektor Web
Apa perbedaan antara Web.Contents, Web.BrowserContents, dan Web.Page?
Web.Contents
digunakan untuk mengambil konten web yang tidak perlu diakses melalui browser, seperti file CSV, hasil JSON API, dan sebagainya.- Ini mendukung berbagai opsi autentikasi terluas.
- Ini dapat digunakan di lingkungan cloud, seperti Power Query Online, tanpa gateway.
Web.Page
adalah fungsi warisan untuk mengambil konten web yang perlu diakses melalui browser, seperti halaman HTML.- Ini dibangun di Internet Explorer. Karena persyaratan ini, itu diganti di UI dengan
Web.BrowserContents
. Namun,Web.Page
akan terus tersedia di tingkat mesin untuk kompatibilitas mundur. - Gateway diperlukan untuk menggunakannya di lingkungan cloud, seperti Power Query Online.
Web.BrowserContents
adalah fungsi yang diperbarui untuk mengambil konten web yang perlu diakses melalui browser, seperti halaman HTML.- Di UI,
Web.BrowserContents
menggantiWeb.Page
, karenaWeb.Page
didasarkan pada Internet Explorer. Web.BrowserContents
awalnya dibangun di atas Chromium, tetapi sekarang menggunakan kontrol WebView2 Microsoft Edge.- Gateway diperlukan untuk menggunakannya di lingkungan cloud, seperti Power Query Online.
Tabel berikut ini meringkas perbedaannya.
Web.Contents | Web.Page | Web.BrowserContents | |
---|---|---|---|
Konten non-browser (file .txt/.csv, JSON, dan sebagainya) | x | ||
Konten browser (HTML) | x | x | |
Jenis Autentikasi Didukung | Anonim Windows Dasar API Web Akun Organisasi |
Anonim Windows (hanya kredensial pengguna saat ini) API Web |
Anonim Windows Dasar API Web |
Memerlukan gateway di host cloud | N | Y | Y |
Saat ini dihasilkan oleh | Semua host | Excel dan Power Query Online | Power BI Desktop |
Dibangun di | .NET | Internet Explorer | Kontrol WebView2 Microsoft Edge |
Catatan
Permintaan POST hanya dapat dibuat secara anonim saat menggunakan Web.Contents
.
Peringatan "Browser ini tidak lagi didukung" di Tampilan Web
Saat mengimpor halaman web, Anda bisa menampilkan pratinjau halaman menggunakan tab Tampilan Web dalam dialog navigator Power Query. Pratinjau ini terkadang menampilkan peringatan seperti "Browser ini tidak lagi didukung". Ketika ini terjadi, biasanya karena Tampilan Web saat ini merender pratinjau Tampilan Web menggunakan Internet Explorer, yang tidak lagi didukung oleh beberapa situs web. Namun, ini hanya memengaruhi Tampilan Web dan tidak memengaruhi konektor web itu sendiri. Selama Anda menggunakan konektor berdasarkan Web.Contents atau Web.BrowserContents (dan tidak Web.Page), Anda dapat mengabaikan peringatan tersebut dengan aman. Lihat Apa perbedaan antara Web.Contents, Web.BrowserContents, dan Web.Page? untuk informasi selengkapnya tentang berbagai konektor web dan teknologi yang mendasarnya.
Menangani halaman web dinamis
Halaman web yang memuat kontennya secara dinamis mungkin memerlukan penanganan khusus. Jika Anda melihat kesalahan sporadis dalam kueri web Anda, ada kemungkinan Anda mencoba mengakses halaman web dinamis. Salah satu contoh umum dari jenis kesalahan ini adalah:
- Anda me-refresh kueri yang tersambung ke situs.
- Anda melihat kesalahan (misalnya, "kolom 'Foo' tabel tidak ditemukan").
- Anda me-refresh kueri lagi.
- Tidak ada kesalahan yang terjadi.
Masalah semacam ini biasanya disebabkan oleh waktu. Halaman yang memuat kontennya secara dinamis terkadang tidak konsisten karena konten dapat berubah setelah browser mempertimbangkan untuk memuat selesai. Terkadang konektor web mengunduh HTML setelah semua konten dinamis dimuat. Di lain waktu perubahan masih berlangsung ketika mengunduh HTML, yang mengarah ke kesalahan sporadis.
Solusinya adalah menggunakan WaitFor
opsi Web.BrowserContents, yang menunjukkan pemilih atau lamanya waktu yang harus ditunggu sebelum mengunduh HTML.
Bagaimana Anda bisa mengetahui apakah halaman bersifat dinamis? Biasanya cukup sederhana. Buka halaman di browser dan tonton dimuat. Jika konten segera muncul, ini adalah halaman HTML biasa. Jika muncul secara dinamis atau berubah dari waktu ke waktu, itu adalah halaman dinamis.
Menggunakan gateway dengan konektor Web
Web.BrowserContents dan Web.Page memerlukan penggunaan gateway data lokal saat diterbitkan ke layanan cloud, seperti model semantik Power BI atau aliran data, atau aliran data Power Apps. (Saat ini, Dynamics 365 Customer Insights tidak mendukung penggunaan gateway.)
Jika Anda menggunakan Web.Page dan menerima Please specify how to connect
kesalahan, pastikan Anda telah menginstal Internet Explorer 10 atau yang lebih baru pada komputer yang menghosting gateway data lokal Anda.
Jika Anda menggunakan Web.BrowserContents dan menerima We were unable to find the WebView2 runtime
kesalahan, pastikan Anda memiliki runtime WebView2 yang diinstal pada komputer yang menghosting gateway data lokal Anda. Pesan kesalahan harus menyediakan tautan ke penginstal runtime WebView2. Jika Anda telah menginstal runtime tetapi masih melihat kesalahan, pastikan bahwa akun layanan gateway (biasanya PBIEgwService) memiliki akses ke lokasi penginstalan runtime WebView2 (misalnya, C:\Program Files (x86)\Microsoft\EdgeWebView).
Kesalahan "Kami mengalami kesalahan saat menginisialisasi browser web" saat menggunakan Web.BrowserContents
Kesalahan ini dapat terjadi jika proses memanggil Web.BrowserContents berjalan dalam mode yang ditinggikan, karena WebView2 saat ini tidak mendukung berjalan dengan hak istimewa administrator.
Menggunakan Web.Page alih-alih Web.BrowserContents
Dalam kasus di mana Anda perlu menggunakan Web.Page
alih-alih Web.BrowserContents
, Anda masih dapat menggunakan Web.Page
secara manual .
Di Power BI Desktop, Anda bisa menggunakan fungsi yang lebih Web.Page
lama dengan menghapus opsi Aktifkan inferensi tabel web:
Di bawah tab File, pilih Opsi dan opsi pengaturan>.
Di bagian Global, pilih Editor Power Query.
Kosongkan opsi Aktifkan inferensi tabel web, lalu pilih OK.
Mulai Power BI Desktop.
Catatan
Saat ini, Anda tidak dapat menonaktifkan penggunaan
Web.BrowserContents
di Power BI Desktop yang dioptimalkan untuk Server Laporan Power BI.
Anda juga bisa mendapatkan salinan Web.Page
kueri dari Excel. Untuk menyalin kode dari Excel:
- Pilih Dari Web dari tab Data .
- Masukkan alamat dalam kotak dialog Dari Web , lalu pilih OK.
- Di Navigator, pilih data yang ingin Anda muat, lalu pilih Transformasi Data.
- Di tab Beranda Power Query, pilih Editor Lanjutan.
- Di Editor Lanjutan, salin rumus M.
- Di aplikasi yang menggunakan
Web.BrowserContents
, pilih konektor Kueri Kosong. - Jika Anda menyalin ke Power BI Desktop:
- Di tab Beranda, pilih Editor Lanjutan.
- Tempelkan kueri yang disalin
Web.Page
di editor, lalu pilih Selesai.
- Jika Anda menyalin ke Power Query Online:
- Di Kueri Kosong, tempelkan kueri yang disalin
Web.Page
dalam kueri kosong. - Pilih gateway data lokal untuk digunakan.
- Pilih Selanjutnya.
- Di Kueri Kosong, tempelkan kueri yang disalin
Anda juga bisa memasukkan kode berikut secara manual ke dalam kueri kosong. Pastikan Anda memasukkan alamat halaman web yang ingin Anda muat.
let
Source = Web.Page(Web.Contents("<your address here>")),
Navigation = Source{0}[Data]
in
Navigation
Menangkap permintaan web dan pencabutan sertifikat
Kami telah memperkuat keamanan koneksi web untuk melindungi data Anda. Namun, ini berarti bahwa skenario tertentu, seperti menangkap permintaan web dengan Fiddler, tidak akan lagi berfungsi secara default. Untuk mengaktifkan skenario tersebut:
Buka Power BI Desktop.
Di bawah tab File, pilih Opsi dan opsi pengaturan>.
Di Opsi, di bawah Keamanan Global>, kosongkan centang Aktifkan pencabutan sertifikat.
Pilih OK.
Mulai Power BI Desktop.
Penting
Ketahuilah bahwa menghapus centang Aktifkan pemeriksaan pencabutan sertifikat akan membuat koneksi web kurang aman.
Untuk mengatur skenario ini dalam Kebijakan Grup, gunakan kunci "DisableCertificateRevocationCheck" di bawah jalur registri "Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft Power BI Desktop". Mengatur "DisableCertificateRevocationCheck" ke 0 akan selalu mengaktifkan pemeriksaan (menghentikan Fiddler dan perangkat lunak serupa dari bekerja) dan mengatur "DisableCertificateRevocationCheck" ke 1 akan selalu menonaktifkan pemeriksaan (mengaktifkan Fiddler dan perangkat lunak serupa).
Mengubah metode autentikasi
Dalam beberapa kasus, Anda mungkin perlu mengubah metode autentikasi yang Anda gunakan untuk mengakses situs tertentu. Jika perubahan ini diperlukan, buka Mengubah metode autentikasi.
Mengautentikasi ke layanan arbitrer
Beberapa layanan mendukung kemampuan konektor Web untuk mengautentikasi dengan autentikasi ID OAuth/Microsoft Entra di luar kotak. Namun, ini tidak akan berfungsi dalam banyak kasus.
Saat mencoba mengautentikasi, jika Anda melihat kesalahan berikut:
We were unable to connect because this credential type isn’t supported for this resource. Please choose another credential type.
Hubungi pemilik layanan. Mereka perlu mengubah konfigurasi autentikasi atau membangun konektor kustom.
Konektor web menggunakan HTTP 1.1 untuk berkomunikasi
Konektor Web Power Query berkomunikasi dengan sumber data menggunakan HTTP 1.1. Jika sumber data Anda mengharapkan untuk berkomunikasi menggunakan HTTP 1.0, Anda mungkin menerima kesalahan, seperti 500 Internal Server Error
.
Tidak dimungkinkan untuk mengalihkan Power Query untuk menggunakan HTTP 1.0. Power Query selalu mengirim Expect:100-continue
ketika ada isi untuk menghindari melewati payload yang mungkin besar ketika panggilan awal itu sendiri mungkin gagal (misalnya, karena kurangnya izin). Saat ini, perilaku ini tidak dapat diubah.
Koneksi ke Microsoft Graph
Power Query saat ini tidak mendukung menyambungkan ke REST API Microsoft Graph. Informasi selengkapnya: Kurangnya Dukungan untuk Microsoft Graph di Power Query