次の方法で共有


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

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

Web.Contents

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

Web.Page

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

Web.BrowserContents

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

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

Web.Contents Web.Page Web.BrowserContents
ブラウザー以外のコンテンツ (.txt/.csv ファイル、JSON など) x
ブラウザーのコンテンツ (HTML) x x
サポートされている認証の種類 アノニマス
ウィンドウズ
Basic
Web API
組織アカウント
アノニマス
Windows (現在のユーザーの資格情報のみ)
Web API
アノニマス
ウィンドウズ
Basic
Web API
クラウド ホスト内のゲートウェイが必要 非対応 ジー ジー
現在生成中 すべてのホスト Excel と Power Query Online Power BI Desktop
基づいている .NET Internet Explorer Microsoft Edge の WebView2 コントロール

POST 要求は、 Web.Contentsを使用する場合にのみ匿名で行うことができます。

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

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

動的 Web ページの処理

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

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

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

解決策は、WaitFor オプションを使用することです。これは、セレクターまたは 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.PageではなくWeb.BrowserContentsを使用する必要がある場合でも、Web.Pageを手動で使用できます。

Power BI Desktop では、[Web.Page オプションをオフにすることで、古い関数を使用できます。

  1. [ファイル] タブで、[> を選択します。

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

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

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

    現時点では、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を使用するアプリで、空のクエリ コネクタを選択します。
  7. Power BI Desktop にコピーする場合:
    1. [ ホーム ] タブで、[ 詳細エディター] を選択します。
    2. コピーした Web.Page クエリをエディターに貼り付け、[ 完了] を選択します。
  8. Power Query Online にコピーする場合:
    1. 空の クエリで、コピーした 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. [オプション] の [グローバル>セキュリティ] で、[証明書失効チェックを有効にする] をオフにします。

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

  4. [OK] を選択.

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

Important

[ 証明書失効チェックを有効にする] をオフにすると、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 のサポート不足