Поделиться через


Устранение неполадок с веб-соединителем

Какова разница между Web.Contents, Web.BrowserContents и Web.Page?

Web.Contents

  • Web.Contents используется для получения веб-содержимого, к которому не требуется обращаться через браузер, например CSV-файлы, результаты API JSON и т. д.
  • Он поддерживает самые разнообразные варианты проверки подлинности.
  • Его можно использовать в облачных средах, таких как Power Query Online, без шлюза.

Web.Page

  • Web.Page — это устаревшая функция для получения веб-содержимого, доступ к которому требуется получить через браузер, например HTML-страницы.
  • Он построен в Интернете Обозреватель. Из-за этого требования он заменяется в пользовательском интерфейсе Web.BrowserContents. Тем не менее, Web.Page будет по-прежнему доступен на уровне подсистемы для обратной совместимости.
  • Для использования шлюза в облачных средах, таких как Power Query Online.

Web.BrowserContents

  • Web.BrowserContents — это обновленная функция для получения веб-содержимого, доступ к которому требуется получить через браузер, например HTML-страницы.
  • В пользовательском интерфейсе замена Web.Pageпроисходит из-за Web.BrowserContentsWeb.Page Обозреватель Интернета.
  • Web.BrowserContents изначально был построен на Chromium, но теперь он использует элемент управления WebView2 Microsoft Edge.
  • Для использования шлюза в облачных средах, таких как Power Query Online.

В приведенной ниже таблице представлена сводная информация о различиях.

Web.Contents Web.Page Web.BrowserContents
Содержимое, отличное от браузера (файлы .txt/.csv, JSON и т. д.) x
Содержимое браузера (HTML) x x
Поддерживаемые типы проверки подлинности Анонимные
Windows
Базовая
Веб-интерфейс API
Учетная запись организации
Анонимные
Windows (только учетные данные текущего пользователя)
Веб-интерфейс API
Анонимные
Windows
Базовая
Веб-интерфейс API
Требуется шлюз в облачных узлах N Y Y
В настоящее время создается с помощью Все узлы Excel и Power Query Online Power BI Desktop
Построено на основе .NET Internet Explorer Элемент управления WebView2 Microsoft Edge

Примечание.

Запросы POST можно выполнять только анонимно при использовании Web.Contents.

Предупреждения "Этот браузер больше не поддерживается" в веб-представлении

При импорте веб-страницы можно просмотреть предварительный просмотр страницы с помощью вкладки "Веб-представление " в диалоговом окне навигатора Power Query. Эта предварительная версия иногда может отображать предупреждение, например "Этот браузер больше не поддерживается". Когда это происходит, обычно это связано с тем, что веб-представление в настоящее время отрисовывает предварительную версию веб-представления с помощью Интернет-Обозреватель, который больше не поддерживается некоторыми веб-сайтами. Однако это влияет только на веб-представление и не влияет на сам веб-соединитель. Если вы используете соединители на основе web.Contents или Web.BrowserContents (и не Web.Page), вы можете безопасно игнорировать такие предупреждения. Дополнительные сведения о разных веб-соединителях и их базовых технологиях см. в статье о различиях между Web.Contents, Web.BrowserContents и Web.Page.

Обработка динамических веб-страниц

Веб-страницы, которые динамически загружают содержимое, могут потребовать специальной обработки. Если вы заметили нерегулярные ошибки в веб-запросах, возможно, вы пытаетесь получить доступ к динамической веб-странице. Одним из распространенных примеров этой ошибки является следующее:

  1. Вы обновляете запрос, который подключается к сайту.
  2. Отображается сообщение об ошибке (например, "столбец Foo" таблицы не найден).
  3. Повторно обновите запрос.
  4. Ошибка не возникает.

Такие проблемы обычно возникают из-за времени. Страницы, которые динамически загружают содержимое, иногда могут быть несогласованы, так как содержимое может измениться после завершения загрузки браузера. Иногда веб-соединитель загружает HTML-код после загрузки всего динамического содержимого. В других случаях изменения по-прежнему выполняются при скачивании HTML- кода, что приводит к спорадическим ошибкам.

Решение состоит в том, чтобы использовать WaitFor параметр Web.BrowserContents, который указывает либо селектор, либо время ожидания перед загрузкой HTML.

Как определить, является ли страница динамической? Обычно это довольно просто. Откройте страницу в браузере и просмотрите ее загрузку. Если содержимое отображается сразу же, это обычная HTML-страница. Если он отображается динамически или изменяется с течением времени, это динамическая страница.

Использование шлюза с веб-соединителем

Как Web.BrowserContents, так и Web.Page требуют использования локального шлюза данных при публикации в облачной службе, например семантических моделей Или потоков данных Power BI или потоков данных Power Apps. (В настоящее время dynamics 365 Customer Аналитика не поддерживает использование шлюза.)

Если вы используете Web.Page и получаете ошибкуPlease specify how to connect, убедитесь, что на компьютере, на котором размещен локальный шлюз данных, установлен интернет-Обозреватель 10 или более поздней версии.

Если вы используете Web.BrowserContents и получаете ошибку We were unable to find the WebView2 runtime , убедитесь, что на компьютере, на котором размещен локальный шлюз данных, установлен среда выполнения WebView2. Сообщение об ошибке должно предоставить ссылку на установщик среды выполнения WebView2. Если вы установили среду выполнения, но по-прежнему видите ошибку, убедитесь, что учетная запись службы шлюза (обычно PBIEgwService) имеет доступ к расположению установки среды выполнения WebView2 (например, C:\Program Files (x86)\Microsoft\EdgeWebView).

При инициализации веб-браузера произошла ошибка при использовании Web.BrowserContents

Эта ошибка может возникать, если процесс вызова Web.BrowserContents выполняется в режиме с повышенными привилегиями, так как WebView2 в настоящее время не поддерживает выполнение с правами администратора.

Использование Web.Page вместо Web.BrowserContents

В случаях, когда вам нужно использовать Web.Page вместо Web.BrowserContentsэтого, вы по-прежнему можете использовать Web.Pageвручную.

В Power BI Desktop можно использовать старую Web.Page функцию, очищая параметр вывода веб-таблицы:

  1. На вкладке "Файл" выберите "Параметры" и "Параметры>".

  2. В разделе "Глобальный" выберите Редактор Power Query.

  3. Снимите флажок "Включить вывод веб-таблицы" и нажмите кнопку "ОК".

  4. Перезапустите Power BI Desktop.

    Примечание.

    В настоящее время вы не можете отключить использование Web.BrowserContents в Power BI Desktop, оптимизированном для Сервер отчетов Power BI.

Вы также можете получить копию Web.Page запроса из Excel. Чтобы скопировать код из Excel, выполните следующие действия.

  1. Выберите "Из Интернета " на вкладке "Данные ".
  2. Введите адрес в диалоговом окне " Из Интернета " и нажмите кнопку "ОК".
  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. Выберите Далее.

Вы также можете вручную ввести следующий код в пустой запрос. Убедитесь, что вы введете адрес веб-страницы, которую вы хотите загрузить.

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

Запись веб-запросов и отзыва сертификатов

Мы укрепили безопасность веб-подключений для защиты данных. Однако это означает, что некоторые сценарии, такие как запись веб-запросов с помощью Fiddler, больше не будут работать по умолчанию. Чтобы включить эти сценарии, выполните следующие действия.

  1. Запустите Power BI Desktop.

  2. На вкладке "Файл" выберите "Параметры" и "Параметры>".

  3. В разделе "Параметры глобальной>безопасности" un проверка Enable certificate revocation проверка.

    Снимок экрана: флажок

  4. Нажмите ОК.

  5. Перезапустите Power BI Desktop.

Внимание

Помните, что отмена проверка включения отзыва сертификатов проверка сделает веб-подключения менее безопасными.

Чтобы задать этот сценарий в групповой политике, используйте раздел DisableCertificateRevocationCheck в пути реестра "Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft\Microsoft Power BI Desktop". Если для параметра DisableCertificateRevocationCheck задано значение 0, всегда будет включена проверка (остановка Fiddler и аналогичное программное обеспечение от работы) и параметр "DisableCertificateRevocationCheck" значение 1 всегда отключает проверка (включение Fiddler и аналогичное программное обеспечение).

Изменение метода проверки подлинности

В некоторых случаях может потребоваться изменить метод проверки подлинности, используемый для доступа к конкретному сайту. Если это изменение необходимо, перейдите к разделу "Изменить метод проверки подлинности".

Проверка подлинности в произвольных службах

Некоторые службы поддерживают возможность проверки подлинности веб-соединителя с помощью проверки подлинности OAuth/Microsoft Entra ID из поля. Однако в большинстве случаев это не будет работать.

При попытке пройти проверку подлинности, если появится следующая ошибка:

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

Ошибка при подключении к конечной точке, которая не поддерживает OAuth с веб-соединителем.

Обратитесь к владельцу службы. Они должны изменить конфигурацию проверки подлинности или создать пользовательский соединитель.

Веб-соединитель использует ПРОТОКОЛ 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 не поддерживает подключение к REST API Microsoft Graph. Дополнительные сведения: отсутствие поддержки Microsoft Graph в Power Query

См. также