Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
La API web de los portales permite una experiencia de usuario más completa en los sitios de Power Pages. Puede utilizar la API web para realizar las operaciones de crear, leer, actualizar y eliminar en todas las tablas de Microsoft Dataverse de sus páginas web. Por ejemplo, puede crear una cuenta nueva o actualizar un contacto sin usar un formulario o formulario de varios pasos mediante la API web de portales.
La API web usa la /_api ruta (por ejemplo, https://yoursite.powerappsportals.com/_api/accounts) y sigue un patrón RESTful similar a la API web de Dataverse.
Importante
- La API web de los portales se ha diseñado para crear una experiencia de usuario rica en páginas de portales. No está optimizado para servicios de terceros o integración de aplicaciones. No se admite el uso de la API web de portales para la integración con otros sitios de Power Pages.
- Las operaciones de la API web de los portales se limitan a tablas relacionadas con los datos, por ejemplo, cuentas, contactos o sus tablas personalizadas. La configuración de metadatos de tabla o datos de tabla de configuración del portal( por ejemplo, la configuración de tablas de portales como adx_contentsnippet, adx_entityform o adx_entitylist) no se admite mediante la API web de portales. Para obtener una lista completa, consulte tablas de configuración no admitidas más adelante en este artículo.
- La API web de los portales se beneficia del almacenamiento en caché del lado del servidor, por lo que las llamadas posteriores a la API web son más rápidas que las llamadas iniciales. Borrar la memoria caché del lado del servidor del portal provoca una degradación temporal del rendimiento.
- Las operaciones de la API web de los portales requieren una licencia de Power Pages. Por ejemplo, las llamadas API web realizadas por usuarios anónimos cuentan para la capacidad de usuarios anónimos. Las llamadas API web realizadas por usuarios autenticados (internos o externos) no cuentan como vistas de página, pero requieren licencias de capacidad para usuarios autenticados aplicables. Para obtener más información, consulte Preguntas frecuentes sobre licencias de Power Pages.
- No se admite la llamada a acciones y funciones mediante la API web de portales.
Operaciones de API web
La API web de los portales ofrece un subconjunto de las capacidades para realizar operaciones en Dataverse que se pueden llevar a cabo mediante la API de Dataverse. El formato de API es lo más similar posible para reducir la curva de aprendizaje.
Nota
Las operaciones de API web distinguen entre mayúsculas y minúsculas.
Operaciones de API web disponibles en Power Pages
- Leer registros de una tabla
- Crear un registro en una tabla
- Actualizar y eliminar registros en una tabla
- Asociar y desasociar tablas
Configuración del sitio para la API web
Importante
La compatibilidad con el valor comodín (*) en la configuración del Webapi/<table-name>/fields sitio está en desuso.
Reemplace * por una lista separada por comas de las columnas necesarias para el sitio. Las solicitudes de API web de Power Pages para tablas configuradas con * fallan hasta que se configuran nombres de columna explícitos.
Para habilitar la API web de portales para el sitio, configure la configuración del sitio para cada tabla que quiera exponer. Puede definir las columnas disponibles para la API web si las enumera en una configuración de sitio, mediante una vista del sistema de Dataverse o combinando ambos métodos.
Nota
Use el nombre lógico de la tabla para estas configuraciones (por ejemplo, cuenta).
| Nombre de la configuración del sitio | Descripción |
|---|---|
Webapi/<table-name>/enabled |
Habilita o deshabilita la API web para <nombre de tabla>. Predeterminada: False Valores válidos: True, False |
Webapi/<table-name>/fields |
Define una lista separada por comas de nombres lógicos de columna disponibles a través de la API web. Por ejemplo: name,accountnumber,telephone1. Esta configuración es necesaria a menos que Webapi/<table-name>/UseFieldsFromView se establezca en True y la vista del sistema configurada contenga al menos una columna apta. El valor comodín (*) está en desuso. |
Webapi/<table-name>/UseFieldsFromView |
Cuando se establece en True, hace que las columnas de una vista del sistema de Dataverse denominada Power Pages Web API Columns estén disponibles a través de la API web.
Valor predeterminado:False.
Valores válidos:True, False. Si Webapi/<table-name>/fields también está configurado, se combinan columnas de ambos orígenes. |
Webapi/error/innererror |
Habilita o deshabilita InnerError. Predeterminada: False Valores válidos: True, False |
Por ejemplo, para exponer la API web para la tabla Case donde los usuarios autenticados pueden crear, actualizar y eliminar registros para esta entidad, use la configuración del sitio que se muestra en la tabla siguiente.
| Nombre de la configuración del sitio | Valor de configuración del sitio |
|---|---|
| Webapi/incident/enabled | verdadero |
| Webapi/incident/fields | attr1, attr2, attr3 |
Configuración de columnas de API web mediante una vista del sistema
Mediante una vista del sistema, los creadores pueden administrar las columnas disponibles a través de la API web del portal sin mantener una lista separada por comas en una configuración de sitio.
- En el estudio de diseño de Power Pages, abra el área de trabajo Datos.
- Seleccione la tabla, seleccione la pestaña Vistas y, a continuación, cree o edite una vista del sistema pública.
- Asigne un nombre a la vista Power Pages Web API Columns.
- Agregue las columnas que el sitio necesita a la vista y, a continuación, guarde y publique la vista.
- En la aplicación Administración del portal, cree la opción de configuración del sitio
Webapi/<table-name>/UseFieldsFromViewpara el sitio web y establezca su valor enTrue. - Confirme que
Webapi/<table-name>/enabledse establece enTrue.
Nota
- Solo se incluyen las columnas de la tabla principal que se muestran en la vista. No se incluyen columnas de tablas relacionadas. Las columnas usadas solo para filtrar o ordenar no se incluyen a menos que también se muestren en la vista.
- Para las columnas de búsqueda, use la propiedad de búsqueda de OData correspondiente en las solicitudes de API web. El nombre de propiedad usa el formato
_<column-logical-name>_value. Por ejemplo, laprimarycontactidcolumna de búsqueda se devuelve como_primarycontactid_value. - Los cambios en la vista del sistema pueden tardar hasta cinco minutos en estar disponibles para la API web.
Si se configuran tanto Webapi/<table-name>/fields como Webapi/<table-name>/UseFieldsFromView, la API web combina las columnas enumeradas en Webapi/<table-name>/fields con columnas aptas de la vista del sistema Columnas de API web de Power Pages para esa tabla.
Importante
- La configuración del sitio
Webapi/<table-name>/UseFieldsFromViewestá disponible en la versión 9.8.8.x del sitio de Power Pages y posteriores. - La compatibilidad con el valor comodín (
*) enWebapi/<table-name>/fieldsestá en desuso. Use nombres de columna explícitos, la vista del sistema Columnas de API web de Power Pages o ambas.
Seguridad con la API web del portal
Puede configurar la seguridad basada en registros para registros individuales en portales mediante permisos de tabla. La API web del portal accede a los registros de tabla (entidad) y sigue los permisos de tabla concedidos a los usuarios a través del rol web asociado.
Puede configurar permisos de columna para definir más privilegios para columnas individuales dentro de una tabla mientras usa la API web del portal.
Autenticando las solicitudes a la API web del portal
No es necesario que incluya un código de autenticación, ya que la sesión de la aplicación administra la autenticación y la autorización. Todas las llamadas a la API web deben incluir un token de falsificación de solicitud entre sitios (CSRF).
Uso de EntitySetName
Al hacer referencia a tablas de Dataverse mediante la API web del portal en el código, use EntitySetName. Para tener acceso a la tabla account, por ejemplo, la sintaxis de código usa EntitySetName de accounts; /_api/accounts().
Nota
Use el nombre lógico de la tabla para la configuración del sitio (por ejemplo, cuenta).
Para determinar EntitySetName de tablas específicas, siga estos pasos:
Seleccione la pestaña Dataverse del panel lateral y seleccione la tabla.
Seleccione la opción ... (opción Comandos) y, a continuación, elija Avanzado, Herramientas y Copiar nombre del conjunto para copiar EntitySetName de la tabla en el Portapapeles.
Leyes y regulaciones de privacidad
Todos los encabezados de solicitud usan un identificador de contacto con fines de auditoría. Para un usuario anónimo, el valor es null.
Si el registro de auditoría está habilitado, un usuario puede ver todos los eventos de auditoría en el registro de auditoría de Office 365.
Más información:
Habilitar y utilizar registro de actividad
Exportar, configurar y ver registros de auditoría
Tablas de configuración no admitidas
No puede usar La API web del portal para las siguientes tablas de configuración:
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
Limitations
Las tablas de actividad personalizadas heredan columnas base (como subject, description, activityidy createdon) de la activitypointer tabla. Al configurar columnas de API web para una tabla de actividad personalizada mediante Webapi/<table-name>/fields, la vista del sistema Columnas de API web de Power Pages, o $select, incluya al menos una columna definida directamente en esa tabla, no solo las columnas heredadas.
Si solo configura columnas heredadas activitypointer , la API web no puede detectar una selección de columna específica de la tabla. Como resultado, trata la solicitud como un carácter comodín (*) y devuelve el siguiente error, incluso cuando se configuran explícitamente campos: Attribute All Columns is not enabled for Web Api.
Recomendación: Incluya al menos una columna definida directamente en la tabla de actividad personalizada, como Comentarios del portal/adx_portalcomment, junto con las columnas heredadas.
Problemas conocidos
Los usuarios reciben un error de CDS si invocan una GET solicitud de API web para tablas que tienen varios niveles de permisos de tabla de uno a varios o de varios a varios cuando los ámbitos parental, contacto o cuenta agregan más condiciones a la consulta.
Para resolver este problema, use FetchXML en la consulta OData.
Siguiente paso
Consultar datos utilizando la API web de portales