ポータル Web API の概要

注意

2022 年 10 月 12 日より、Power Apps ポータルは Power Pages となります。 詳細: Microsoft Power Pages の一般提供が開始されました (ブログ)
Power Apps ポータルのドキュメントは、近日中に Power Pages ドキュメントに移行、統合されます。

ポータル Web API は、Power Apps ポータル ページ内でより豊かなユーザー エクスペリエンスを可能にします。 ポータル Web API を使用して、自分のポータル ページからすべての Microsoft Dataverse テーブルを作成、読み取り、更新、および削除することができます。 たとえば、ポータル管理アプリの代わりにポータル Web API を使用して、新しい取引先企業を作成、取引先担当者の更新、または製品に関するテーブルのアクセス許可の変更を行うことが出来ます。

注意

Power Pages でポータル Web API を使用することもできます。 詳細: Power Pages とは

重要

  • この機能を使用する場合は、ポータルのバージョンが 9.3.3.x 以降である必要があります
  • ポータル ページ内で豊かなユーザー体験を作成するためにポータル WebAPI を構築できます。 サード パーティのサービスやアプリケーションの統合に対しては最適化されていません。 その他の Power Apps ポータル サイトと統合するためにポータル Web API を使用することはサポートされていません。
  • ポータルの Web API 操作は—取引先企業、取引先担当者、またはカスタム テーブルなどのデータに制限されています。 たとえば—adx_contentsnippet, adx_entityform、または adx_entitylist などのポータル テーブル—の構成のようなテーブル メタデータまたはポータル構成データの構成はポータル Web API ではサポートされていません。 完全なリストについては、サポートされていない構成テーブル に移動してください。
  • ポータル Web API は、サーバー側のキャッシュ を活用するため、今後の Web API への呼び出しは、最初の呼び出しよりも速くなります。 ポータルのサーバー側のキャッシュをクリアすると、一時的にパフォーマンスが低下することに注意してください。
  • ポータルの Web API 操作には、Power Apps ポータル ライセンスが必要です。 たとえば、匿名ユーザーによる Web API 呼び出しは、ページ ビュー容量にカウントされます。 認証されたユーザー (内部または外部) によって行われた Web API 呼び出しは、ページ ビューにはカウントされませんが、該当するライセンスが必要です。 詳細情報: Power Apps ポータルライセンスに関する FAQ

Web API の操作

ポータル WebAPI は、Dataverse API を使用して実行できる Dataverse 操作のサブセット機能を提供します。 学習曲線を短縮するために、API 形式は可能な限り類似したものにしています。

注意

Web API 操作では、大文字と小文字が区別されます。

ポータルで利用可能な Web API 操作

注意

ポータルWeb API を使った通話 行動機能 はサポートされていません。

WebAPI のサイト設定

自分のポータルのポータル WebAPI を有効にするには、サイト設定を有効にする必要があります。 ポータル Web API で変更できる、または変更できないテーブル フィールドを決定するフィールド レベルの Web API を構成することもできます。

注意

これらの設定には、テーブルの論理名を使用します (アカウント など)。

サイト設定の名前 説明設定
Webapi/<table name>/有効化 <table name> の WebAPI を有効または無効にします。
規定: False
有効な値: True, False
Webapi/<table name>/フィールド WebAPI で変更できる属性のコンマ区切りリストを定義します。
有効な値:
- すべての属性: *
- 特定の属性: attr1,attr2,attr3
注意: この値はアスタリスク (*) またはフィールド名のコンマ区切りリストのいずれかである必要があります。
重要: これは必須のサイト設定です。 この設定がない場合、"このエンティティにフィールドが定義されていません" というエラーが表示されます。
Webapi/error/innererror InnerError を有効または無効にします。
規定: False
有効な値: True, False
Webapi/<table name>/disableodatafilter OData フィルターを有効または無効にします。
規定: False
有効な値: TrueFalse 詳細は 既知の問題 をご覧ください。 サイト設定はポータル版 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 リクエストの認証

認証と承認はアプリケーション セッションが管理するため、認証コードを含める必要はありません。 すべての Web API 呼び出しには、クロスサイト リクエスト フォージェリ (CSRF) トークンが含まれている必要があります。

EntitySetName の使用

コード内でポータル Web API を使用して Dataverse テーブルを参照する場合、EntitySetName を使用する必要があります。例えば、アカウント テーブルにアクセスする場合、コード構文では accounts; /_api/accounts() の EntitySetName が使用されます。

注意

これらの設定には、テーブルのサイトの設定を使用します (アカウント など)。

以下の手順で、特定のテーブルの EntitySetName を決定することができます:

  1. https://make.powerapps.com に移動

  2. サイドパネルから Dataverse タブを選択し、テーブルを選択します。

  3. ... (コマンドオプション) を選択し、詳細ツールセット名をコピー を選択して、テーブルの EntitySetName をクリップボードにコピーします。

    Dataverse テーブルの EntitySetName を見つける方法。

一般データ保護規則 (GDPR)

すべての要求ヘッダーには、監査目的で渡される連絡先 ID があります。 匿名ユーザーの場合、null として渡されます。

監査ログが有効になっている場合、ユーザーはすべての監査イベントを Office 365監査ログ で見ることができます。

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

既知の問題

ユーザーは、定義された スコープを持つ 一対多 または 多対多 テーブルのアクセス許可 の複数レベルを持つテーブルの GET Web API 要求を呼び出す場合、CDS エラーが発生します。

この問題を解決するための推奨されるソリューションは、OData クエリで FetchXML を使うことです。

または、サイト設定 Webapi/<table name>/disableodatafilterTrue を設定します。

重要

サイト設定 Webapi/<table name>/disableodatafilterTrue を変更することは、Web API GET 呼び出しのパフォーマンスが低下する可能性があります。

サイト設定はポータル版 9.4.10.74 以降で利用可能です。

次のステップ

Web API ポータルを使用したクエリ データ

参照

HTTP 要求の作成とエラーの処理
ポータルは、Web API を使用して操作を書き込み、更新、および削除します
チュートリアル: ポータル Web API を使用する

注意

ドキュメントの言語設定についてお聞かせください。 簡単な調査を行います。 (この調査は英語です)

この調査には約 7 分かかります。 個人データは収集されません (プライバシー ステートメント)。