Поделиться через


Обзор веб-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 на уровне полей, который определяет поля таблицы, которые можно или нельзя изменять с помощью веб-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 конкретных таблиц, выполнив следующие действия:

  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 для таблиц, которые имеют несколько уровней разрешений таблиц1 ко многим или многие ко многим, когда области Родительский, Контакт или Организация добавляют дополнительные условия к запросу.

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

В качестве альтернативы установите параметр сайта Webapi/<table name>/disableodatafilter на True.

Внимание

Изменение значения параметра сайта Webapi/<table name>/disableodatafilter на True может привести к снижению быстродействия вызовов веб-API GET.

Параметр сайта доступен в версии порталов 9.4.10.74 или более новой.

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

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

См. также