Aracılığıyla paylaş


Web bağlayıcısı sorunlarını giderme

Web.Contents, Web.BrowserContents ve Web.Page arasındaki fark nedir?

Web.Contents

  • Web.Contents CSV dosyaları, JSON API sonuçları gibi tarayıcı üzerinden erişilmesi gerekmeyen web içeriğini almak için kullanılır.
  • En geniş kimlik doğrulama seçeneklerini destekler.
  • Ağ geçidi olmadan Power Query Online gibi bulut ortamlarında kullanılabilir.

Web.Page

  • Web.Page , HTML sayfaları gibi bir tarayıcı üzerinden erişilmesi gereken web içeriğini almaya yönelik eski bir işlevdir.
  • Internet Explorer'da yerleşik olarak bulunur. Bu gereksinim nedeniyle kullanıcı arabiriminde ile Web.BrowserContentsdeğiştiriliyor. Ancak geriye Web.Page dönük uyumluluk için altyapı düzeyinde kullanılabilir olmaya devam edecektir.
  • Ağ geçidini Power Query Online gibi bulut ortamlarında kullanmak için gereklidir.

Web.BrowserContents

  • Web.BrowserContents , HTML sayfaları gibi bir tarayıcı üzerinden erişilmesi gereken web içeriğini almaya yönelik güncelleştirilmiş bir işlevdir.
  • Kullanıcı arabiriminde, Web.BrowserContents Web.PageWeb.Page yerine Internet Explorer'ı temel alır.
  • Web.BrowserContents başlangıçta Chromium üzerinde oluşturulmuştu, ancak şimdi Microsoft Edge'in WebView2 denetimini kullanıyor.
  • Ağ geçidini Power Query Online gibi bulut ortamlarında kullanmak için gereklidir.

Aşağıdaki tablo, farkları özetlemektedir.

Web.Contents Web.Page Web.BrowserContents
Tarayıcı dışı içerik (.txt/.csv dosyaları, JSON vb.) x
Tarayıcı içeriği (HTML) x x
Desteklenen Kimlik Doğrulama Türleri Anonim
Windows
Temel
Web API'si
Kuruluş Hesabı
Anonim
Windows (yalnızca geçerli kullanıcının kimlik bilgileri)
Web API'si
Anonim
Windows
Temel
Web API'si
Bulut konaklarında ağ geçidi gerektirir N Y Y
Şu anda oluşturan Tüm konaklar Excel ve Power Query Online Power BI Desktop
Yerleşik .NET Internet Explorer Microsoft Edge'in WebView2 denetimi

Not

POST istekleri yalnızca kullanılırken Web.Contentsanonim olarak yapılabilir.

Web Görünümünde "Bu tarayıcı artık desteklenmiyor" uyarıları

Web sayfasını içeri aktarırken, Power Query'nin gezgin iletişim kutusundaki Web Görünümü sekmesini kullanarak sayfanın önizlemesini görüntüleyebilirsiniz. Bu önizleme bazen "Bu tarayıcı artık desteklenmiyor" gibi bir uyarı görüntüleyebilir. Bunun nedeni genellikle Web Görünümü'nde artık bazı web siteleri tarafından desteklenmeyen Internet Explorer'ı kullanarak Web Görünümü önizlemesini işlemesidir. Ancak bu yalnızca Web Görünümünü etkiler ve web bağlayıcısının kendisini etkilemez. Bağlayıcıları Web.Contents veya Web.BrowserContents (Web.Page değil) temelinde kullandığınız sürece, bu tür uyarıları güvenle yoksayabilirsiniz. Farklı web bağlayıcıları ve bunların temel teknolojileri hakkında daha fazla bilgi için Bkz. Web.Contents, Web.BrowserContents ve Web.Page arasındaki fark nedir?

Dinamik web sayfalarını işleme

İçeriklerini dinamik olarak yükleyen web sayfaları özel işleme gerektirebilir. Web sorgularınızda düzensiz hatalar fark ederseniz, dinamik bir web sayfasına erişmeye çalışıyor olmanız mümkündür. Bu tür bir hatanın yaygın örneklerinden biri:

  1. Siteye bağlanan bir sorguyu yenilersiniz.
  2. Bir hata görürsünüz (örneğin, "tablonun 'Foo' sütunu bulunamadı").
  3. Sorguyu yeniden yenilersiniz.
  4. Hata oluşmaz.

Bu tür sorunlar genellikle zamanlamadan kaynaklanıyor. Tarayıcı yüklemeyi tamamladıktan sonra içerik değişebileceğinden, içeriklerini dinamik olarak yükleyen sayfalar bazen tutarsız olabilir. Bazen tüm dinamik içerik yüklendikten sonra web bağlayıcısı HTML'yi indirir. Diğer zamanlarda, HTML indirildiğinde değişiklikler devam eder ve bu da düzensiz hatalara neden olur.

Çözüm, HTML'yi indirmeden önce bir seçiciyi veya beklenmesi gereken süreyi gösteren Web.BrowserContents seçeneğini kullanmaktırWaitFor.

Bir sayfanın dinamik olup olmadığını nasıl anlayabilirsiniz? Genellikle oldukça basittir. Sayfayı tarayıcıda açın ve yüklenmesini izleyin. İçerik hemen görünürse, normal bir HTML sayfasıdır. Dinamik olarak görünürse veya zaman içinde değişirse, dinamik bir sayfadır.

Web bağlayıcısı ile ağ geçidi kullanma

Hem Web.BrowserContents hem de Web.Page, Power BI anlam modelleri, veri akışları veya Power Apps veri akışları gibi bir bulut hizmetinde yayımlandığında şirket içi veri ağ geçidi kullanılmasını gerektirir. (Şu anda Dynamics 365 Müşteri Analizler ağ geçidi kullanımını desteklemez.)

Web.Page kullanıyorsanız ve bir Please specify how to connect hata alıyorsanız, şirket içi veri ağ geçidinizi barındıran makinede Internet Explorer 10 veya üzeri yüklü olduğundan emin olun.

Web.BrowserContents kullanıyorsanız ve bir We were unable to find the WebView2 runtime hata alıyorsanız, şirket içi veri ağ geçidinizi barındıran makinede WebView2 çalışma zamanının yüklü olduğundan emin olun. Hata iletisi, WebView2 çalışma zamanı yükleyicisine bir bağlantı sağlamalıdır. Çalışma zamanını yüklediyseniz ancak hatayı görmeye devam ediyorsanız, ağ geçidi hizmet hesabının (genellikle PBIEgwService) WebView2 çalışma zamanının yükleme konumuna (örneğin, C:\Program Files (x86)\Microsoft\EdgeWebView) erişimi olduğundan emin olun.

Web.BrowserContents kullanılırken "Web tarayıcısı başlatılırken bir hatayla karşılaştık" hataları

WebView2 şu anda yönetici ayrıcalıklarıyla çalıştırmayı desteklemediğinden, WebView2'yi çağıran işlem yükseltilmiş modda çalışıyorsa bu hata oluşabilir.

Web.BrowserContents yerine Web.Page kullanma

yerine Web.BrowserContentskullanmanız Web.Page gereken durumlarda yine de el ile kullanabilirsinizWeb.Page.

Power BI Desktop'ta, Web tablosu çıkarımını etkinleştir seçeneğini temizleyerek eski Web.Page işlevi kullanabilirsiniz:

  1. Dosya sekmesinin altında Seçenekler ve ayarlar>Seçenekler'i seçin.

  2. Genel bölümünde Power Query Düzenleyicisi'ı seçin.

  3. Web tablosu çıkarımı etkinleştir seçeneğini temizleyin ve tamam'ı seçin.

  4. Power BI Desktop'i yeniden başlatın.

    Not

    Şu anda Power BI Rapor Sunucusu için iyileştirilmiş Power BI Desktop'ta kullanımını Web.BrowserContents kapatamazsınız.

Excel'den bir Web.Page sorgunun kopyasını da alabilirsiniz. Kodu Excel'den kopyalamak için:

  1. Veri sekmesinden Web'den'i seçin.
  2. Web'den iletişim kutusuna adresi girin ve tamam'ı seçin.
  3. Gezgin'de, yüklemek istediğiniz verileri seçin ve ardından Verileri Dönüştür'ü seçin.
  4. Power Query'nin Giriş sekmesinde Gelişmiş Düzenleyici'ı seçin.
  5. Gelişmiş Düzenleyici M formülünü kopyalayın.
  6. kullanan Web.BrowserContentsuygulamada Boş Sorgu bağlayıcısını seçin.
  7. Power BI Desktop'a kopya ediyorsanız:
    1. Giriş sekmesinde Gelişmiş Düzenleyici'ı seçin.
    2. Kopyalanan Web.Page sorguyu düzenleyiciye yapıştırın ve bitti'yi seçin.
  8. Power Query Online'a kopya ediyorsanız:
    1. Boş Sorgu'da, kopyalanan Web.Page sorguyu boş sorguya yapıştırın.
    2. Kullanılacak şirket içi veri ağ geçidini seçin.
    3. İleri'yi seçin.

Aşağıdaki kodu boş bir sorguya el ile de girebilirsiniz. Yüklemek istediğiniz web sayfasının adresini girdiğinizden emin olun.

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

Web isteklerini ve sertifika iptalini yakalama

Verilerinizi korumak için web bağlantılarının güvenliğini güçlendirdik. Ancak bu, Fiddler ile web isteklerini yakalama gibi bazı senaryoların artık varsayılan olarak çalışmayacağı anlamına gelir. Bu senaryoları etkinleştirmek için:

  1. Power BI Desktop açın.

  2. Dosya sekmesinin altında Seçenekler ve ayarlar>Seçenekler'i seçin.

  3. Seçenekler'de, Genel>Güvenlik'in altında Sertifika iptalini etkinleştir denetiminin işaretini kaldırın.

    Sertifika iptalini etkinleştir onay kutusunun seçili olduğu ekran görüntüsü.

  4. Tamam'ı seçin.

  5. Power BI Desktop'i yeniden başlatın.

Önemli

Sertifika iptalini etkinleştir denetiminin işaretini kaldırmanın web bağlantılarını daha az güvenli hale getireceğini unutmayın.

Bu senaryoyu Grup İlkesi'nde ayarlamak için "Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft Power BI Desktop" kayıt defteri yolunun altındaki "DisableCertificateRevocationCheck" anahtarını kullanın. "DisableCertificateRevocationCheck" ayarının 0 olarak ayarlanması her zaman denetimi etkinleştirir (Fiddler ve benzer yazılımların çalışmasını durdurur) ve "DisableCertificateRevocationCheck" ayarını 1 olarak ayarlamak denetimi her zaman devre dışı bırakır (Fiddler ve benzer yazılımları etkinleştirir).

Kimlik doğrulama yöntemini değiştirme

Bazı durumlarda, belirli bir siteye erişmek için kullandığınız kimlik doğrulama yöntemini değiştirmeniz gerekebilir. Bu değişiklik gerekiyorsa Kimlik doğrulama yöntemini değiştirme bölümüne gidin.

Rastgele hizmetlerde kimlik doğrulaması

Bazı hizmetler, Web bağlayıcısının OAuth/Microsoft Entra Id kimlik doğrulamasıyla kimlik doğrulaması yapabilmesini destekler. Ancak bu çoğu durumda işe yaramaz.

Kimlik doğrulaması yapmaya çalışırken aşağıdaki hatayı görürseniz:

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

Web bağlayıcısı ile OAuth'u desteklemeyen bir uç noktaya bağlanma hatası.

Hizmet sahibine başvurun. Kimlik doğrulama yapılandırmasını değiştirmesi veya özel bağlayıcı oluşturması gerekir.

Web bağlayıcısı iletişim kurmak için HTTP 1.1 kullanır

Power Query Web bağlayıcısı, HTTP 1.1 kullanarak bir veri kaynağıyla iletişim kurar. Veri kaynağınız HTTP 1.0 kullanarak iletişim kurmayı bekliyorsa, gibi 500 Internal Server Errorbir hata alabilirsiniz.

Power Query'yi HTTP 1.0 kullanacak şekilde değiştirmek mümkün değildir. Power Query, ilk çağrının kendisi başarısız olabileceğinde (örneğin, izinlerin olmaması nedeniyle) büyük bir yükün geçirilmesini önlemek için her zaman bir gövdesi olduğunda gönderir Expect:100-continue . Şu anda bu davranış değiştirilemez.

Microsoft Graph'a Bağlan

Power Query şu anda Microsoft Graph REST API'lerine bağlanmayı desteklemez. Daha fazla bilgi: Power Query'de Microsoft Graph desteğinin olmaması

Ayrıca bkz.