Обзор веб-API порталов
Веб-API порталов обеспечивает более богатый пользовательский интерфейс внутри сайтов Power Pages. Можно использовать веб-API для выполнения операций создания, чтения, обновления и удаления во всех таблицах Microsoft Dataverse с ваших веб-страниц. Например, вы можете создать новую учетную запись, обновить контакт без использования формы или многошаговой формы с помощью веб-API порталов.
Внимание
- Для работы этой функции вы должны использовать версию сайта Power Pages 9.3.3.x или позднее.
- Веб-API порталов улучшает взаимодействие с пользователем внутри страниц порталов. Он не оптимизирован для сторонних сервисов или интеграции приложений. Использование порталов веб-API для интеграции с другими сайтами Power Pages также не поддерживается.
- Операции веб-API порталов ограничены таблицами, связанными с данными, например, учетные записи, контакты или ваши настраиваемые таблицы. Настройка метаданных таблицы или данных таблицы конфигурации портала, например, настройка таблиц порталов, таких как adx_contentsnippet, adx_entityform или adx_entitylist, не поддерживается веб-API порталов. Полный список см. в разделе Неподдерживаемые таблицы конфигурации далее в этой теме.
- Веб-API порталов использует преимущества кэширования на стороне сервера, поэтому последующие вызовы веб-API выполняются быстрее, чем первоначальные вызовы. Обратите внимание, что очистка кэша на стороне сервера портала приводит к временному снижению производительности.
- Для работы веб-API порталов требуется лицензия на Power Pages. Например, вызовы веб-API, сделанные анонимными пользователями, учитываются при подсчете количества анонимных пользователей. Вызовы веб-API, сделанные аутентифицированными пользователями (внутренними или внешними), не учитываются при просмотре страниц, но требуют соответствующих лицензий аутентифицированных пользователей. Дополнительные сведения: Вопросы и ответы по лицензированию Power Pages
Операции веб-API
Веб-API порталов предлагает набор возможностей для операций Dataverse, которые можно выполнять с помощью Dataverse API. Мы сохранили формат API как можно более похожим, чтобы сократить время обучения.
Заметка
Операции веб-API зависят от регистра.
Операции веб-API доступны на порталах Power Pages
- Чтение записей из таблицы
- Создание записи в таблице
- Обновление и удаление записей в таблице
- Связывание и отмена связывания таблиц
Настройки сайта для веб-API
Вы должны включить настройку сайта, чтобы включить веб-API порталов для вашего портала. Вы также можете настроить веб-API на уровне полей, который определяет поля таблицы, которые можно или нельзя изменять с помощью веб-API порталов.
Заметка
Используйте логическое имя таблицы для этих настроек (например account).
Имя настройки сайта | Описание: |
---|---|
Webapi/<table name>/enabled | Включает или отключает веб-API для <table name>. По умолчанию: False Допустимые значения: True , False |
Webapi/<table name>/fields | Определяет список атрибутов, разделенных запятыми, которые можно изменить с помощью веб-API. Возможные значения: - Все атрибуты: * - Особые атрибуты: attr1,attr2,attr3 Примечание: значение должно быть либо звездочкой (*), либо списком имен полей, разделенных запятыми. Важно. Это обязательная настройка сайта. Если этот параметр отсутствует, вы увидите ошибку «Для этой сущности не определены поля». |
Webapi/error/innererror | Включает или отключает InnerError. По умолчанию: False Допустимые значения: True , False |
Webapi/<table name>/disableodatafilter | Включает или отключает фильтр OData. По умолчанию: False Допустимые значения: True , False дополнительные сведения см. в Известные проблемы. Параметр сайта доступен в версии порталов 9.4.10.74 или более новой. |
Заметка
Настройки сайта должны быть установлены на Активно, чтобы изменения вступили в силу.
Например, чтобы предоставить веб-API для таблицы обращений, где аутентифицированным пользователям разрешено выполнять операции создания, обновления и удаления с этой сущностью, параметры сайта показаны в следующей таблице.
Имя настройки сайта | Значение параметра сайта |
---|---|
Webapi/incident/enabled | true |
Webapi/incident/fields | attr1, attr2, attr3 |
Безопасность с помощью веб-API порталов
Вы можете настроить безопасность на основе записей для отдельных записей на порталах, используя разрешения таблицы. Веб-API порталов обращается к записям таблиц (сущностей) и следует разрешениям таблиц, предоставленным пользователям через связанную веб-роль.
Вы можете настроить разрешения столбца для дальнейшего определения привилегий для отдельных столбцов в таблице при использовании веб-API порталов.
Аутентификация запросов веб-API порталов
Вам не нужно включать код аутентификации, потому что аутентификация и авторизация управляются сеансом приложения. Все вызовы веб-API должны включать токен подделки межсайтовых запросов (CSRF).
Использование Using EntitySetName
Когда речь идет о таблицах Dataverse, использующих веб-API порталов в вашем коде, вам необходимо использовать EntitySetName, например, для доступа к таблице account, синтаксис кода будет использовать EntitySetName из accounts; /_api/accounts()
.
Заметка
Используйте логическое имя таблицы для настроек сайта (например, account).
Вы можете определить EntitySetName конкретных таблиц, выполнив следующие действия:
Перейти к https://make.powerapps.com
Выберите Dataverse на боковой панели и выберите таблицу.
Выберите ... (параметр команд), затем выберите Дополнительно, Сервис и Копировать имя набора, чтобы скопировать EntitySetName таблицы в буфер обмена.
Законы и положения о конфиденциальности
Все заголовки запросов будут иметь идентификатор контакта, переданный для целей аудита. Для анонимного пользователя это будет передано как null
.
Если ведение журнала аудита включено, пользователь может видеть все события аудита в журнале аудита 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
для таблиц, которые имеют несколько уровней разрешений таблиц 1 ко многим или многие ко многим, когда области Родительский, Контакт или Организация добавляют дополнительные условия к запросу.
Чтобы решить эту проблему, рекомендуемым решением является использование FetchXML в запросе OData.
В качестве альтернативы установите параметр сайта Webapi/<table name>/disableodatafilter на True
.
Внимание
Изменение значения параметра сайта Webapi/<table name>/disableodatafilter на True
может привести к снижению быстродействия вызовов веб-API GET
.
Параметр сайта доступен в версии порталов 9.4.10.74 или более новой.
Следующий шаг
Запрос данных с помощью веб-API порталов