Partilhar via


Solução de problemas do conector da Web

Qual é a diferença entre Web.Contents, Web.BrowserContent e Web.Page?

Web.Conteúdos

  • Web.Contents é usado para recuperar conteúdo da Web que não precisa ser acessado por meio de um navegador, como arquivos CSV, resultados da API JSON e assim por diante.
  • Ele suporta a maior variedade de opções de autenticação.
  • Pode ser utilizado em ambientes na nuvem, como o Power Query Online, sem um gateway.

Web.Page

  • Web.Page é uma função herdada para recuperar conteúdo da Web que precisa ser acessado por meio de um navegador, como páginas HTML.
  • Baseia-se no Internet Explorer. Devido a esse requisito, ele está sendo substituído na interface do usuário por Web.BrowserContents. No entanto, Web.Page continuará disponível ao nível do motor para compatibilidade com versões anteriores.
  • É necessário um gateway para usá-lo em ambientes de nuvem, como o Power Query Online.

Web.BrowserConteúdos

  • Web.BrowserContents é uma função atualizada para recuperar conteúdo da Web que precisa ser acessado por meio de um navegador, como páginas HTML.
  • Na interface do usuário, Web.BrowserContents está substituindo Web.Page, porque Web.Page é baseado no Internet Explorer.
  • Web.BrowserContents foi inicialmente construído no Chromium, mas agora usa o controle WebView2 do Microsoft Edge.
  • É necessário um gateway para usá-lo em ambientes de nuvem, como o Power Query Online.

A tabela a seguir resume as diferenças.

Web.Conteúdos Web.Page Web.BrowserConteúdos
Conteúdo que não seja do navegador (arquivos .txt/.csv, JSON e assim por diante) x
Conteúdo do navegador (HTML) x x
Tipos de autenticação suportados Anónimo
Windows
Básica
API da Web
Conta Organizacional
Anónimo
Windows (somente credenciais do usuário atual)
API da Web
Anónimo
Windows
Básica
API da Web
Requer um gateway em hosts de nuvem N Y Y
Atualmente gerado por Todos os anfitriões Excel e Power Query Online Power BI Desktop
Construído sobre .NET Internet Explorer Controle WebView2 do Microsoft Edge

Nota

As solicitações POST só podem ser feitas anonimamente ao usar Web.Contentso .

Avisos "Este browser já não é suportado" na Vista Web

Ao importar uma página Web, pode ver uma pré-visualização da página utilizando o separador Vista Web na caixa de diálogo do navegador do Power Query. Por vezes, esta pré-visualização pode apresentar um aviso como "Este navegador já não é suportado". Quando isso acontece, geralmente é porque o Modo de Exibição da Web atualmente processa a visualização do Modo de Exibição da Web usando o Internet Explorer, que não é mais suportado por alguns sites. No entanto, isso afeta apenas o modo de exibição da Web e não afeta o conector da Web em si. Contanto que você esteja usando os conectores baseados em Web.Contents ou Web.BrowserContents (e não Web.Page), você pode ignorar esses avisos com segurança. Consulte Qual é a diferença entre Web.Contents, Web.BrowserContent e Web.Page? para obter mais informações sobre os diferentes conectores da Web e suas tecnologias subjacentes.

Tratamento de páginas Web dinâmicas

As páginas da Web que carregam seu conteúdo dinamicamente podem exigir tratamento especial. Se você notar erros esporádicos em suas consultas da Web, é possível que esteja tentando acessar uma página da Web dinâmica. Um exemplo comum deste tipo de erro é:

  1. Você atualiza uma consulta que se conecta ao site.
  2. Você verá um erro (por exemplo, "a coluna 'Foo' da tabela não foi encontrada").
  3. Atualizar a consulta novamente.
  4. Não ocorre nenhum erro.

Este tipo de problemas deve-se geralmente ao calendário. As páginas que carregam seu conteúdo dinamicamente às vezes podem ser inconsistentes, uma vez que o conteúdo pode mudar depois que o navegador considera o carregamento concluído. Às vezes, o conector da Web baixa o HTML depois que todo o conteúdo dinâmico é carregado. Outras vezes, as alterações ainda estão em andamento quando ele baixa o HTML, levando a erros esporádicos.

A solução é usar a WaitFor opção Web.BrowserContents, que indica um seletor ou um período de tempo que deve ser aguardado antes de baixar o HTML.

Como saber se uma página é dinâmica? Geralmente é muito simples. Abra a página num browser e veja-a carregar. Se o conteúdo aparecer imediatamente, é uma página HTML normal. Se aparecer dinamicamente ou mudar ao longo do tempo, é uma página dinâmica.

Usando um gateway com o conector da Web

Tanto Web.BrowserContents quanto Web.Page exigem o uso de um gateway de dados local quando publicados em um serviço de nuvem, como modelos semânticos ou fluxos de dados do Power BI ou fluxos de dados do Power Apps. (Atualmente, o Dynamics 365 Customer Insights não oferece suporte ao uso de um gateway.)

Se estiver a utilizar o Web.Page e receber um Please specify how to connect erro, certifique-se de que tem o Internet Explorer 10 ou posterior instalado no computador que aloja o gateway de dados local.

Se você estiver usando Web.BrowserContents e receber um We were unable to find the WebView2 runtime erro, certifique-se de ter o tempo de execução WebView2 instalado na máquina que hospeda seu gateway de dados local. A mensagem de erro deve fornecer um link para o instalador de tempo de execução WebView2. Se você instalou o tempo de execução, mas ainda está vendo o erro, verifique se a conta de serviço do gateway (geralmente PBIEgwService) tem acesso ao local de instalação do tempo de execução do WebView2 (por exemplo, C:\Program Files (x86)\Microsoft\EdgeWebView).

Erros "Encontramos um erro ao inicializar o navegador da Web" ao usar Web.BrowserContents

Este erro pode ocorrer se o processo de chamada Web.BrowserContents estiver sendo executado no modo elevado, uma vez que WebView2 atualmente não suporta a execução com privilégios de administrador.

Usando Web.Page em vez de Web.BrowserContents

Nos casos em que você precisa usar Web.Page em vez de Web.BrowserContents, você ainda pode usar Web.Pagemanualmente .

No Power BI Desktop, você pode usar a função mais antiga Web.Page desmarcando a opção Habilitar inferência de tabela da Web:

  1. Na guia Arquivo, selecione Opções e configurações>Opções.

  2. Na secção Global, selecione Power Query Editor.

  3. Desmarque a opção Ativar inferência de tabela da Web e selecione OK.

  4. Reinicie o Power BI Desktop.

    Nota

    Atualmente, não é possível desativar o uso do no Power BI Desktop otimizado para o Servidor de Relatório do Web.BrowserContents Power BI.

Você também pode obter uma cópia de uma Web.Page consulta do Excel. Para copiar o código do Excel:

  1. Selecione Da Web na guia Dados .
  2. Digite o endereço na caixa de diálogo Da Web e selecione OK.
  3. No Navegador, escolha os dados que pretende carregar e, em seguida, selecione Transformar Dados.
  4. No separador Base do Power Query, selecione Editor Avançado.
  5. No Editor Avançado, copie a fórmula M.
  6. No aplicativo que usa Web.BrowserContentso , selecione o conector Consulta em Branco.
  7. Se estiver a copiar para o Power BI Desktop:
    1. Na guia Página Inicial, selecione Editor Avançado.
    2. Cole a consulta copiada Web.Page no editor e selecione Concluído.
  8. Se estiver a copiar para o Power Query Online:
    1. Na consulta em branco, cole a consulta copiada Web.Page na consulta em branco.
    2. Selecione um gateway de dados local a ser usado.
    3. Selecione Seguinte.

Você também pode inserir manualmente o código a seguir em uma consulta em branco. Certifique-se de que introduz o endereço da página Web que pretende carregar.

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

Capturando solicitações da Web e revogação de certificados

Reforçámos a segurança das ligações Web para proteger os seus dados. No entanto, isso significa que determinados cenários, como a captura de solicitações da Web com o Fiddler, não funcionarão mais por padrão. Para habilitar esses cenários:

  1. Abra Power BI Desktop.

  2. Na guia Arquivo, selecione Opções e configurações>Opções.

  3. Em Opções, em Segurança Global>, desmarque Ativar verificação de revogação de certificado.

    Captura de ecrã da caixa de verificação Ativar revogação de certificados selecionada.

  4. Selecione OK.

  5. Reinicie o Power BI Desktop.

Importante

Lembre-se de que desmarcar Ativar verificação de revogação de certificado tornará as conexões da Web menos seguras.

Para definir esse cenário na Diretiva de Grupo, use a chave "DisableCertificateRevocationCheck" no caminho do Registro "Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft Power BI Desktop". Definir "DisableCertificateRevocationCheck" como 0 sempre habilitará a verificação (impedindo o Fiddler e software semelhante de funcionar) e definir "DisableCertificateRevocationCheck" como 1 sempre desativará a verificação (ativando o Fiddler e software semelhante).

Alterar o método de autenticação

Em alguns casos, talvez seja necessário alterar o método de autenticação usado para acessar um site específico. Se essa alteração for necessária, vá para Alterar o método de autenticação.

Autenticação em serviços arbitrários

Alguns serviços suportam a capacidade do conector Web de autenticação com autenticação OAuth/Microsoft Entra ID pronta para uso. No entanto, isso não funcionará na maioria dos casos.

Ao tentar autenticar, se vir o seguinte erro:

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

Erro ao conectar-se a um ponto de extremidade que não suporta OAuth com o conector da Web.

Entre em contato com o proprietário do serviço. Eles precisam alterar a configuração de autenticação ou criar um conector personalizado.

Conector da Web usa HTTP 1.1 para se comunicar

O conector Web do Power Query comunica com uma origem de dados utilizando HTTP 1.1. Se sua fonte de dados estiver esperando se comunicar usando HTTP 1.0, você pode receber um erro, como 500 Internal Server Error.

Não é possível mudar o Power Query para utilizar HTTP 1.0. O Power Query envia sempre um Expect:100-continue quando existe um corpo para evitar a passagem de uma carga possivelmente grande quando a própria chamada inicial pode falhar (por exemplo, devido à falta de permissões). Atualmente, esse comportamento não pode ser alterado.

Conectando-se ao Microsoft Graph

Atualmente, o Power Query não suporta a ligação a APIs REST do Microsoft Graph. Para obter mais informações: Falta de suporte para o Microsoft Graph no Power Query

Consulte também