ポータル Web API の概要
ポータル Web API は、Power Pages サイト内でより豊かなユーザー エクスペリエンスを可能にします。 Web API を使用して、自分の Web ページからすべての Microsoft Dataverse テーブルを作成、読み取り、更新、および削除することができます。 たとえば、ポータル Web API を使用することにより、フォーム または マルチステップ フォーム を使用せずに、新しいアカウントを作成し、取引先担当者を更新できます。
重要
- この機能が正常に動作するには、Power Pages サイトのバージョンが 9.3.3.x 以降である必要があります。
- ポータル ページ内で豊かなユーザー体験を作成するためにポータル WebAPI を構築できます。 サード パーティのサービスやアプリケーションの統合に対しては最適化されていません。 ポータル Web API を使用して他の Power Pages サイトと統合することもサポートされていません。
- ポータルの Web API 操作は取引先企業、取引先担当者、またはカスタム テーブルなどのデータに制限されています。 たとえば、adx_contentsnippet, adx_entityform、または adx_entitylist などのポータル テーブルの構成のようなテーブル メタデータまたはポータル構成データの構成はポータル Web API ではサポートされていません。 完全なリストについては、サポートされていない構成テーブル に移動してください。
- ポータル Web API は、サーバー側のキャッシュ を活用するため、今後の Web API への呼び出しは、最初の呼び出しよりも速くなります。 ポータルのサーバー側のキャッシュをクリアすると、一時的にパフォーマンスが低下することに注意してください。
- ポータル Web API 操作には、Power Pages ライセンスが必要です。 たとえば、匿名ユーザーによる Web API 呼び出しは、匿名ユーザー容量にカウントされます。 認証されたユーザー (内部または外部) によって行われた Web API 呼び出しは、ページ ビューにはカウントされませんが、該当する認証済みユーザー容量ライセンスが必要です。 詳細: Power Pages ライセンスに関するよくあるご質問
Web API の操作
ポータル WebAPI は、Dataverse API を使用して実行できる Dataverse 操作のサブセット機能を提供します。 学習曲線を短縮するために、API 形式は可能な限り類似したものにしています。
注意
Web API 操作では、大文字と小文字が区別されます。
Power Pages で利用可能な Web API 操作
WebAPI のサイト設定
自分のポータルのポータル WebAPI を有効にするには、サイト設定を有効にする必要があります。 ポータル Web API で変更できる、または変更できないテーブル フィールドを決定するフィールド レベルの Web API を構成することもできます。
注意
これらの設定には、テーブルの論理名を使用します (アカウント など)。
サイト設定の名前 | Description |
---|---|
Webapi/<table name>/enabled | <テーブル名> の WebAPI を有効または無効にします。 既定: False 有効な値: True 、False |
Webapi/<table name>/fields | WebAPI で変更できる属性のコンマ区切りリストを定義します。 有効な値: - すべての属性: * - 特定の属性: attr1,attr2,attr3 注意: この値はアスタリスク (*) またはフィールド名のコンマ区切りリストのいずれかである必要があります。 重要: これは必須のサイト設定です。 この設定がない場合、"このエンティティにフィールドが定義されていません" というエラーが表示されます。 |
Webapi/error/innererror | InnerError を有効または無効にします。 既定: False 有効な値: True 、False |
Webapi/<table name>/disableodatafilter | OData フィルターを有効または無効にします。 既定: False 有効な値: True 、False 詳細は 既知の問題 をご覧ください。 サイト設定はポータル版 9.4.10.74 以降で利用可能です。 |
注意
サイト設定は変更を有効にするために アクティブ に設定する必要があります。
たとえば、認証されたユーザーがこのエンティティで操作を作成、更新、および削除できるサポート案件テーブルの Web API を公開するために、サイト設定を次のテーブルに表示します。
サイト設定の名前 | サイト設定値 |
---|---|
Webapi/incident/enabled | 正 |
Webapi/incident/fields | attr1、attr2、attr3 |
ポータル WebAPI によるセキュリティ
テーブルのアクセス許可 を使用してポータルの個別のレコードにレコード ベースのセキュリティを構成できます。 ポータル Web API は、テーブル (エンティティ) レコードにアクセスし、関連した Web ロール からユーザーに与えられたテーブルのアクセス許可に従います。
列のアクセス許可 を構成して、ポータル Web API の使用中に、テーブル内の個々の列に対する特権をさらに定義します。
ポータル Web API リクエストの認証
認証と承認はアプリケーション セッションが管理するため、認証コードを含める必要はありません。 すべての Web API 呼び出しには、クロスサイト リクエスト フォージェリ (CSRF) トークンが含まれている必要があります。
EntitySetName の使用
コード内でポータル Web API を使用して Dataverse テーブルを参照する場合、EntitySetName を使用する必要があります。例えば、アカウント テーブルにアクセスする場合、コード構文では accounts; /_api/accounts()
の EntitySetName が使用されます。
注意
これらの設定には、テーブルのサイトの設定を使用します (アカウント など)。
以下の手順で、特定のテーブルの EntitySetName を決定することができます:
サイドパネルから Dataverse タブを選択し、テーブルを選択します。
... (コマンドオプション) を選択し、詳細、ツール、セット名をコピー を選択して、テーブルの EntitySetName をクリップボードにコピーします。
プライバシーに関する法律および規制
すべての要求ヘッダーには、監査目的で渡される連絡先 ID があります。 匿名ユーザーの場合、null
として渡されます。
監査ログが有効になっている場合、ユーザーはすべての監査イベントを Office 365監査ログ で見ることができます。
詳細情報:
活動のログを有効化して使用する
監査ログ レコードのエクスポート、構成、および表示
サポートされていない構成テーブル
ポータル Web 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
既知の問題
ペアレンタル、コンタクト、または アカウント スコープがクエリに追加の条件を追加した場合、1 対多 または 多対多 の テーブルアクセス許可 の複数のレベルを持つテーブルに対して GET
Web API リクエストを実行すると、ユーザーに CDS エラーが発生します。
この問題を解決するには、ODataクエリで FetchXML を使用することをお勧めします。
または、サイト設定 Webapi/<table name>/disableodatafilter を True
に設定します。
重要
サイト設定 Webapi/<table name>/disableodatafilter を True
に変更することは、Web API GET
呼び出しのパフォーマンスが低下する可能性があります。
サイト設定はポータル版 9.4.10.74 以降で利用可能です。