Descrição geral de API Web de portais

A API Web de portais permite uma experiência de utilizador mais rica dentro de sites do Power Pages. Pode utilizar a API Web para efetuar operações de criação, leitura, atualização e eliminação entre todas as tabelas do Microsoft Dataverse a partir das suas páginas Web. Por exemplo, pode criar uma nova conta ou atualizar um contacto sem usar um formulário ou formulário multipasso , utilizando a Web API do portal.

A Web API utiliza a /_api rota (por exemplo, https://yoursite.powerappsportals.com/_api/accounts) e segue um padrão RESTful semelhante ao da Web API do Dataverse.

Importante

  • A API Web dos portais está construída para criar uma experiência de utilizador rica dentro das páginas do portal. Não está otimizado para serviços de terceiros ou integração de aplicações. Usar a API Web do portal para integrar com outros sites do Power Pages não é suportado.
  • As operações da API Web de portais estão limitadas a tabelas relacionadas com dados, por exemplo, contas, contactos ou tabelas personalizadas. A configuração de metadados de tabelas ou dados de tabelas de configuração de portais — por exemplo, configurar tabelas de portais como adx_contentsnippet, adx_entityform ou adx_entitylist — não é suportada pela utilização da Web API do portal. Para uma lista completa, consulte tabelas de configuração não suportadas mais adiante neste artigo.
  • A API Web de portais beneficia da colocação em cache do lado do servidor, pelo que as chamadas subsequentes para a API Web são mais rápidas do que as chamadas iniciais. Limpar a cache do servidor do portal causa uma degradação temporária do desempenho.
  • As operações da API Web de portais requerem uma licença do Power Pages. Por exemplo, as chamadas Web API feitas por utilizadores anónimos contam para a capacidade do utilizador anónimo. As chamadas de API web feitas por utilizadores autenticados (internos ou externos) não contam para visualizações de página, mas requerem licenças de capacidade de utilizador autenticadas aplicáveis. Para mais informações, consulte as Perguntas Frequentes sobre licenciamento do Power Pages.
  • Chamar ações e funções através da API Web do portal não é suportado.

Operações API Web

A API Web dos portais oferece um subconjunto de funcionalidades para as operações do Dataverse que pode efetuar através da API do Dataverse. O formato da API é o mais semelhante possível para reduzir a curva de aprendizagem.

Nota

As operações da API Web são sensíveis às maiúsculas e minúsculas.

Operações da API Web disponíveis no Power Pages

Definições do site para a API Web

Importante

O suporte ao valor coringa (*) na Webapi/<table-name>/fields definição do site está obsoleto.

Substitua * por uma lista separada por vírgulas das colunas exigidas pelo seu site. Os pedidos da API Web do Power Pages para tabelas configuradas falham * até configurares nomes explícitos de colunas.

Para ativar a API Web do portal para o seu portal, ative a definição do site. Também pode configurar a API Web ao nível do campo que determina os campos de tabela que os utilizadores podem ou não modificar usando a Web API do portal.

Nota

Use o nome lógico da tabela para estas definições (por exemplo, conta).

Nome da configuração do site Descrição
Webapi/<nome da tabela>/ativado Ativa ou desativa a API Web para <nome da tabela>.
Predefinição:False
Valores válidos:True, False
Webapi/<nome da tabela>/fields Define a lista separada por vírgulas de atributos que os utilizadores podem modificar usando a Web API.
Valores possíveis:
- Atributos específicos:attr1,attr2,attr3
Importante: Esta definição é uma definição de site obrigatória. Quando esta definição faltar, vê o erro "Não há campos definidos para esta entidade."
Webapi/error/innererror Ativa ou desativa InnerError.
Predefinição:False
Valores válidos:True, False

Por exemplo, para expor a Web API da tabela de Casos onde utilizadores autenticados podem criar, atualizar e eliminar registos para esta entidade, utilize as definições do site apresentadas na tabela seguinte.

Nome da configuração do site Valor de definição do site
Webapi/incident/enabled true
Webapi/incident/fields attr1, attr2, attr3

Segurança com a Web API dos portais

Pode configurar a segurança baseada em registos individuais em portais usando permissões de tabelas. A API Web dos portais acede aos registos de tabelas (entidade) e segue as permissões de tabela dadas aos utilizadores através da função Web associada.

Poderá configurar as permissões de coluna para definir ainda mais os privilégios para as colunas individuais numa tabela enquanto utiliza a API Web de portais.

Autenticação de pedidos de API Web de portais

Não é necessário incluir um código de autenticação porque a sessão da aplicação gere a autenticação e a autorização. Todas as chamadas à API da Web devem incluir um token de Cross-Site Request Forgery (CSRF).

Utilizar EntitySetName

Ao referir-se a tabelas Dataverse usando a API Web do portal no seu código, use o EntitySetName. Para aceder à tabela de contas , por exemplo, a sintaxe do código usa o EntitySetName das contas; /_api/accounts().

Nota

Utilize o nome lógico da tabela para definições do site (por exemplo, conta).

Para determinar o EntitySetName de tabelas específicas, siga estes passos:

  1. Aceder ao https://make.powerapps.com

  2. Selecione o separador Dataverse no painel lateral e selecione a tabela.

  3. Selecione a opção ... (Comandos), e depois escolha Avançado, Ferramentas e Copiar o nome do conjunto para copiar o EntitySetName da tabela para a sua prancheta.

    Como localizar EntitySetName de uma tabela do Dataverse.

Leis e regulamentações de privacidade

Todos os cabeçalhos de pedidos utilizam um ID de contacto para fins de auditoria. Para um utilizador anónimo, o valor é null.

Se o registo de auditoria estiver ativado, um utilizador pode ver todos os eventos de auditoria no registo de auditoria Office 365.

Captura de ecrã do registo de auditoria do Office 365.

Mais informações:
Ativar e utilizar o registo de atividades
Exportar, configurar e visualizar registos de auditoria

Tabelas de configuração não suportadas

A API Web dos portais não pode ser utilizada para as seguintes tabelas de configuração:

adx_contentaccesslevel

adx_contentsnippet

adx_entityform

adx_entityformmetadata

adx_entitylist

adx_entitypermission

adx_entitypermission_webrole

adx_externalidentity

adx_pagealert

adx_pagenotification

adx_pagetag

adx_pagetag_webpage

adx_pagetemplate

adx_portallanguage

adx_publishingstate

adx_publishingstatetransitionrule

adx_publishingstatetransitionrule_webrole

adx_redirect

adx_setting

adx_shortcut

adx_sitemarker

adx_sitesetting

adx_urlhistory

adx_webfile

adx_webfilelog

adx_webform

adx_webformmetadata

adx_webformsession

adx_webformstep

adx_weblink

adx_weblinkset

adx_webnotificationentity

adx_webnotificationurl

adx_webpage

adx_webpage_tag

adx_webpageaccesscontrolrule

adx_webpageaccesscontrolrule_webrole

adx_webpagehistory

adx_webpagelog

adx_webrole_systemuser

adx_website

adx_website_list

adx_website_sponsor

adx_websiteaccess

adx_websiteaccess_webrole

adx_websitebinding

adx_websitelanguage

adx_webtemplate

Problemas conhecidos

Os utilizadores obtêm um erro de CDS se invocarem um pedido da API Web GET para tabelas que tenham múltiplos níveis de um para muitos ou muitos para muitospermissões de tabela quando os âmbitos de acesso Parental, **Contacto ou Conta adicionam mais condições à consulta.

Para resolver este problema, use FetchXML na consulta OData.

Próximo passo

Consultar os dados através da API Web dos portais