Web コネクタのトラブルシューティング

Web.Contents、Web.BrowserContents、Web.Page の違いは何ですか?

Web.Contents

  • Web.Contents は、CSV ファイル、JSON API 結果など、ブラウザ経由でアクセスする必要のない Web コンテンツを取得するために使用されます。
  • 最も幅広い認証オプションをサポートしています。
  • Power Query Online などのクラウド環境でゲートウェイなしで使用できます。

Web.Page

  • Web.Pageは、HTML ページなど、ブラウザ経由でアクセスする必要がある Web コンテンツを取得するためのレガシー関数です。
  • Internet Explorer 上に構築されています。 この要件のため、UI ではWeb.BrowserContents に置き換えられています。 ただし、Web.Page は下位互換性のためにエンジン レベルで引き続き使用できます。
  • Power Query Online などのクラウド環境で使用するには、ゲートウェイが必要です。

Web.BrowserContents

  • Web.BrowserContents は、HTML ページなど、HTML ページなどのブラウザ経由でアクセスする必要がある Web コンテンツを取得するための更新された関数です。
  • Web.Pageは Internet Explorer に基づいているため、UI では Web.BrowserContentsWeb.Page に置き換わります。
  • Web.BrowserContents は当初 Chromium 上に構築されましたが、現在は Microsoft Edge の WebView2 コントロールを使用しています。
  • Power Query Online などのクラウド環境で使用するには、ゲートウェイが必要です。

次の表では、違いについて要約します。

Web.Contents Web.Page Web.BrowserContents
ブラウザ以外のコンテンツ (.txt/.csv ファイル、JSON など) x
ブラウザのコンテンツ (HTML) x x
サポートされている認証の種類 匿名
Windows
基本
Web API
組織アカウント
匿名
Windows (現在のユーザーの資格情報のみ)
Web API
匿名
Windows
基本
Web API
クラウド ホストにゲートウェイが必要です N Y Y
ただいま作成中 すべてのホスト ExcelとPower Query オンライン Power BI Desktop
上に構築 .NET Internet Explorer Microsoft Edge の WebView2 コントロール

Note

Web.Contents を使用している場合、POST 要求は匿名でのみ実行できます。

Web ビューでの「このブラウザはサポートされなくなりました」という警告

Web ページをインポートする場合、Power Query のナビゲーター ダイアログの [Web ビュー] タブを使用してページのプレビューを表示できます。 このプレビューでは、「このブラウザはサポートされなくなりました」などの警告が表示される場合があります。 この問題が発生する場合は、通常、Web ビューが現在、一部の Web サイトでサポートされていない Internet Explorer を使用して Web ビュー プレビューをレンダリングしていることが原因です。 ただし、これは Web ビューにのみ影響し、Web コネクタ自体には影響しません。 Web.Contentsまたは Web.BrowserContents(Web.Page ではない) に基づくコネクタを使用している限り、このような警告は無視しても問題ありません。 。 さまざまな Web コネクタとその基礎となるテクノロジの詳細については、「Web.Contents、Web.BrowserContents、および Web.Page の違いは何ですか?」を参照してください。

動的 Web ページの処理

コンテンツを動的に読み込む Web ページでは、特別な処理が必要になる場合があります。 Web クエリで散発的なエラーが発生している場合は、動的な Web ページにアクセスしようとしている可能性があります。 この種のエラーの一般的な例を次に示します。

  1. サイトに接続するクエリを更新します。
  2. エラーが表示されます (例: "テーブルの列 'Foo' が見つかりませんでした")。
  3. クエリを再度更新します。
  4. エラーは発生しません。

この種の問題は通常、タイミングが原因です。 コンテンツを動的に読み込むページは、ブラウザーで読み込みが完了したと見なされた後にコンテンツが変更される可能性があるため、一貫性がない場合があります。 すべての動的コンテンツが読み込まれた後で、Web コネクタが HTML をダウンロードする場合があります。 他にも、HTML をダウンロードするときに変更がまだ進行中の場合は、散発的なエラーの発生につながります。

解決策は、Web.BrowserContentsWaitForオプションを使用することです。これは、HTML をダウンロードする前にセレクターまたは待機する必要のある時間の長さを示します。

ページが動的であるかどうかを確認するにはどうすればよいのでしょうか。 通常は非常に簡単です。 ブラウザーでページを開き、読み込まれるのを監視します。 コンテンツがすぐに表示される場合は、通常の HTML ページです。 動的に表示される場合、または時間の経過と共に変化する場合は、動的ページです。

Web コネクタを用いたゲートウェイの使用

Web.BrowserContentsWeb.Page はどちらも、Power BI セマンティック モデルやデータフロー、Power Apps データフローなどのクラウド サービスに公開するときに、オンプレミス データ ゲートウェイを使用する必要があります。 (現在、Dynamics 365 Customer Insights はゲートウェイの使用をサポートしていません)

Web.Page を使用していて Please specify how to connect エラーが発生した場合は、オンプレミス データ ゲートウェイをホストするコンピューターに Internet Explorer 10 以降がインストールされていることを確認してください。

Web.BrowserContents を使用していて We were unable to find the WebView2 runtime エラーが発生した場合は、オンプレミス データ ゲートウェイをホストするマシンに WebView2 ランタイムがインストールされていることを確認してください。 エラー メッセージには、WebView2 ランタイム インストーラーへのリンクが表示されます。 ランタイムをインストールしてもエラーが発生する場合は、ゲートウェイ サービス アカウント (通常は PBIEgwService) が WebView2 ランタイムのインストール場所 (C:\Program Files (x86)\Microsoft\EdgeWebView など) にアクセスできることを確認します。

Web.BrowserContents の使用時の "Web ブラウザーの初期化中にエラーが発生しました" というエラー

このエラーは、WebView2 は現在管理特権での実行をサポートしていないため、Web.BrowserContents を呼び出すプロセスが昇格モードで実行されている場合に発生する可能性があります。

Web.BrowserContents の代わりに Web.Page を使用する

Web.BrowserContents の代わりに Web.Page を使用する必要がある場合でも、手動で Web.Page を使用できます。

Power BI Desktop では、[Web テーブル推論を有効にする] オプションをオフにすることで、古い Web.Page 関数を使用できます。

  1. [ファイル] タブで、[オプションと設定]>[オプション] を選択します。

  2. グローバル セクションで、Power Query エディター を選択します。

  3. Web テーブル推論を有効にする オプションをクリアし、OK を選択します。

  4. Power BI Desktop を再起動します。

    Note

    現在、Power BI Report Server 用に最適化された Power BI Desktop で Web.BrowserContents の使用をオフにすることはできません。

また、Excel から Web.Page クエリのコピーを取得できます。 Excel からコードをコピーする方法:

  1. [データ] タブから [Web から] を選択します。
  2. [Web から] ダイアログボックスにアドレスを入力し、[OK] を選択します。
  3. ナビゲーターで、読み込むデータを選択してから、[データの変換] を選択します。
  4. Power Query の [ホーム] タブで、[詳細エディター] を選択します。
  5. [詳細エディター] で、M 数式をコピーします。
  6. Web.BrowserContents を使用するアプリで、Blank Query コネクタを選択します。
  7. Power BI Desktop にコピーする場合:
    1. [ホーム] タブで、[詳細エディター] を選択します。
    2. コピーした Web.Page クエリをエディターに貼り付けて、[完了] を選択します。
  8. Power Query Online にコピーする場合:
    1. Blank Query で、コピーした Web.Page クエリを空のクエリに貼り付けます。
    2. 使用するオンプレミス データ ゲートウェイを選択します。
    3. [次へ] を選択します。

以下のコードを、空のクエリに手動で入力することもできます。 読み込む Web ページのアドレスを入力してください。

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

Web 要求のキャプチャと証明書の失効

データを保護するために、Web 接続のセキュリティを強化しました。 ただし、これは、Fiddler を使用した Web 要求のキャプチャなど、既定で特定のシナリオが使用できなくなることを意味します。 これらのシナリオを有効にする方法:

  1. Power BI Desktop を開きます。

  2. [ファイル] タブで、[オプションと設定]>[オプション] を選択します。

  3. [オプション][グローバル]>[セキュリティ] で、[Enable certificate revocation check]\(証明書失効の確認を有効にする\) のチェックボックスをオフにします。

    [証明書失効を有効にする] チェックボックスがオンになっているスクリーンショット。

  4. [OK] を選択します。

  5. Power BI Desktop を再起動します。

重要

[Enable certificate revocation check]\(証明書失効の確認を有効にする\) のチェックボックスをオフにすると、Web 接続の安全性が低下することに注意してください。

グループ ポリシーでこのシナリオを設定するには、レジストリ パス「Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft Power BI Desktop」の下にある「DisableCertificateRevocationCheck」キーを使用します。 「DisableCertificateRevocationCheck」を 0 に設定すると、常に確認が有効 (Fiddler および同様のソフトウェアを動作停止) になり、「DisableCertificateRevocationCheck」を 1 に設定すると、常に確認が無効 (Fiddler および同様のソフトウェアを有効化) になります。

認証方法の変更

場合によっては、特定のサイトにアクセスするために使用する認証方法を変更する必要があります。 変更が必要な場合は、認証方式の変更へお進みください。

任意のサービスへの認証

一部のサービスは、Web コネクタが、OAuth/Microsoft Entra ID 認証ですぐに認証を行う機能をサポートしています。 ただし、ほとんどの場合に機能しません。

認証を試みたときに、以下のエラーが表示された場合:

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

Web コネクタを使用して、 OAuth をサポートしていないエンドポイントに接続する際のエラー。

サービス所有者までお問い合わせください。 認証構成を変更するか、カスタム コネクタを構築する必要があります。

Web コネクタは HTTP 1.1 を使用して通信する

Power Query Web コネクタは、HTTP 1.1 を使用してデータ ソースと通信します。 データ ソースが HTTP 1.0 を使用して通信することを想定している場合は、500 Internal Server Error などのエラーが発生する可能性があります。

Power Query を HTTP 1.0 を使用するように切り替えることはできません。 Power Query は、最初の呼び出し自体が失敗する可能性がある (たとえば、権限がないため) ときに大きなペイロードを渡さないようにするための本文がある場合は、常に Expect:100-continue を送信します。 現在、この動作は変更できません。

Microsoft Graph への接続

Power Query は現在、Microsoft Graph REST API への接続をサポートしていません。 詳細情報: Power Query で Microsoft Graph がサポートされていない

関連項目