Обзор веб-API порталов

Веб-API порталов обеспечивает более богатый пользовательский интерфейс внутри сайтов Power Pages. Можно использовать веб-API для выполнения операций создания, чтения, обновления и удаления во всех таблицах Microsoft Dataverse с ваших веб-страниц. Например, можно создать новую учетную запись или обновить контакт без использования формы или многоэтапной формы с помощью веб-API порталов.

Web API использует маршрут /_api (например, https://yoursite.powerappsportals.com/_api/accounts) и соответствует RESTful-шаблону, аналогичному шаблону Web API Dataverse.

Внимание

  • Веб-API порталов улучшает взаимодействие с пользователем внутри страниц порталов. Он не оптимизирован для сторонних сервисов или интеграции приложений. Использование веб-API порталов для интеграции с другими Power Pages сайтами не поддерживается.
  • Операции веб-API порталов ограничены таблицами, связанными с данными, например, учетные записи, контакты или ваши настраиваемые таблицы. Настройка метаданных таблицы или данных таблицы конфигурации портала, например настройка таблиц портала, таких как adx_contentsnippet, adx_entityform или adx_entitylist, не поддерживается с помощью веб-API порталов. Полный список см. в неподдерживаемых таблицах конфигурации далее в этой статье.
  • Веб-API порталов использует преимущества кэширования на стороне сервера, поэтому последующие вызовы веб-API выполняются быстрее, чем первоначальные вызовы. Очистка кэша на стороне сервера портала приводит к временному снижению производительности.
  • Для работы веб-API порталов требуется лицензия на Power Pages. Например, вызовы веб-API, выполняемые анонимными пользователями, учитываются в отношении анонимной емкости пользователей. Вызовы веб-API, выполняемые прошедшими проверку подлинности пользователями (внутренними или внешними), не учитываются в представлениях страниц, но требуют применимых лицензий на доступ к емкости пользователей, прошедших проверку подлинности. Дополнительные сведения см. в статье Power Pages часто задаваемых вопросы о лицензировании.
  • Вызов действий и функций с помощью веб-API порталов не поддерживается.

Операции веб-API

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

Заметка

Операции веб-API зависят от регистра.

Операции Web API, доступные в Power Pages

Настройки сайта для веб-API

Внимание

Поддержка подстановочного знака (*) в параметре Webapi/<table-name>/fields сайта не рекомендуется.

Замените * разделенный запятыми список столбцов, необходимых вашему сайту. Power Pages запросы веб-API для таблиц, настроенных с * ошибкой, пока не настройте явные имена столбцов.

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

Заметка

Используйте логическое имя таблицы для этих параметров (например, учетная запись).

Название настройки сайта Описание:
Webapi/<имя таблицы>/enabled Включает или отключает веб-API для <table name>.
По умолчанию:False
Допустимые значения:True, False
Webapi/<имя таблицы>/fields Определяет разделенный запятыми список атрибутов, которые пользователи могут изменять с помощью веб-API.
Возможные значения:
- Конкретные атрибуты:attr1,attr2,attr3
Важно. Это обязательная настройка сайта. Если этот параметр отсутствует, вы увидите ошибку «Для этой сущности не определены поля».
Webapi/error/innererror Включает или отключает InnerError.
По умолчанию:False
Допустимые значения:True, False

Например, чтобы предоставить веб-API для таблицы case, в которой прошедшие проверку подлинности пользователи могут создавать, обновлять и удалять записи для этой сущности, используйте параметры сайта, показанные в следующей таблице.

Название настройки сайта Значение параметра сайта
Webapi/incident/enabled истина
Webapi/incident/fields attr1, attr2, attr3

Безопасность с помощью веб-API порталов

Безопасность на основе записей для отдельных записей на порталах можно настроить с помощью разрешений таблицы. Веб-API порталов получает доступ к записям таблиц (сущностей) и учитывает разрешения на доступ к таблицам, предоставленные пользователям через связанную веб-роль.

Вы можете настроить разрешения столбца для дальнейшего определения привилегий для отдельных столбцов в таблице при использовании веб-API порталов.

Аутентификация запросов веб-API порталов

Вам не нужно включать код аутентификации, потому что аутентификация и авторизация управляются сеансом приложения. Все вызовы Web API должны содержать токен защиты от межсайтовой подделки запроса (CSRF).

Использование EntitySetName

При обращении к таблицам Dataverse с помощью веб-API порталов в коде используйте EntitySetName. Для доступа к таблице учетной записи , например синтаксис кода использует EntitySetName учетных записей; /_api/accounts().

Заметка

Используйте логическое имя таблицы для настроек сайта (например, account).

Чтобы определить EntitySetName определенных таблиц, выполните следующие действия.

  1. Перейти к https://make.powerapps.com

  2. Выберите Dataverse на боковой панели и выберите таблицу.

  3. Выберите параметр ... (Команды), а затем выберите " Дополнительно", "Сервис" и "Копировать" , чтобы скопировать EntitySetName таблицы в буфер обмена.

    Как найти EntitySetName таблицы в Dataverse.

Законы и положения о конфиденциальности

Все заголовки запросов используют идентификатор контакта для аудита. Для анонимного пользователя значение равно null.

Если ведение журнала аудита включено, пользователь может видеть все события аудита в журнале аудита Office 365.

Снимок экрана журнала аудита Office 365.

Подробнее:
Включение и использование ведения журнала действий
Экспорт, настройка и просмотр записей журнала аудита

Неподдерживаемые таблицы конфигурации

Веб-API порталов нельзя использовать для следующих таблиц конфигурации:

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

Известные проблемы

Пользователи получают ошибку CDS, если выполняют запрос к веб-API GET для таблиц, имеющих несколько уровней разрешений таблиц типа «один ко многим» или «многие ко многим», когда области действия Parental, **Contact или Account добавляют к запросу дополнительные условия.

Чтобы устранить эту проблему, используйте FetchXML в запросе OData.

Следующий шаг

Запрос данных с помощью веб-API порталов