入口網站 Web API 概觀

入口網站 Web API 在 Power Pages 網站中啟用更豐富的使用者體驗。 您可以使用 Web API 在網頁中對所有 Microsoft Dataverse 資料表執行建立、讀取、更新和刪除作業。 例如,您可以使用入口網站 Web API,在不使用表單多步驟表單的情況下,建立新客戶、更新連絡人。

重要

  • 您的 Power Pages 網站版本必須是 9.3.3.x 或更新版本,才能使此功能運作。
  • 入口網站 Web API 旨在入口網站頁面中建立更豐富的使用者體驗。 它不會針對協力廠商服務或應用程式整合進行最佳化。 此外,也不支援使用入口網站 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 作業

入口網站 Web API 提供使用 Dataverse API 所能執行的 Dataverse 作業功能子集。 我們將 API 格式保持在盡可能類似的方式下,以減少學習曲線。

注意

Web API 作業區分大小寫。

Power Pages 中可用的 Web API 作業

注意

不支援使用入口網站 Web API 來呼叫動作功能

Web API 的網站設定

您必須啟用網站設定,才能為您的入口網站啟用入口網站 Web API。 您還可以設定欄位層級 Web API,以決定是否可使用入口網站 Web API 修改資料表欄位。

注意

請使用資料表的邏輯名稱進行設定 (例如帳戶)。

網站設定名稱 描述:
Webapi/<資料表名稱>/enabled 啟用或停用 <資料表名稱> 的 Web API。
預設值:False
有效值:TrueFalse
Webapi/<資料表名稱>/fields 定義可使用 Web API 修改的以逗號分隔的屬性清單。
可能的值:
- 所有屬性:*
- 特定屬性:attr1,attr2,attr3
注意:值必須是星號 (*) 或逗號分隔的欄位名稱清單。
重要:這是必要的網站設定。 當這項設定遺失時,會看到「沒有為這個實體定義欄位」的錯誤。
Webapi/error/innererror 啟用或停用 InnerError。
預設值:False
有效值:TrueFalse
Webapi/<資料表名稱>/disableodatafilter 啟用或停用 OData 篩選。
預設值:False
有效值:TrueFalse 如需詳細資訊,請參閱已知問題。 網站設定可在入口網站版本 9.4.10.74 或更新版本中使用。

注意

網站設定必須設定為使用中才能讓變更生效。

例如,若要讓有驗證的使用者在該實體上執行建立、更新及刪除動作的案例表格以公開 Web API,下表顯示了網站設定。

網站設定名稱 網站設定值
Webapi/incident/enabled
Webapi/incident/fields attr1、attr2、attr3

使用入口網站 Web API 的安全性

您可以使用資料表權限,在入口網站中將記錄安全性設定為各項記錄 。 入口網站 Web API 會存取資料表 (實體) 記錄,並遵循透過關聯的 Web 角色授與使用者的資料表權限。

您可以設定資料行權限,以在使用入口網頁 API 時進一步定義資料表中個別資料行的權限。

驗證入口網站 Web API 要求

您不需要包含身份驗證代碼,因為驗證和授權由應用程式工作階段管理。 所有的 Web API 呼叫都必須包括跨網站偽造要求 (CSRF) 權杖。

Using EntitySetName

在您的程式碼中使用入口網站 Web API 來參考 Dataverse 資料表時,您需要使用 EntitySetName,例如若要存取帳戶資料表,則程式碼語法將會使用帳戶的 EntitySetName; /_api/accounts()

注意

使用網站設定的資料表邏輯名稱 (例如帳戶)。

您可以遵循下列步驟,來判斷特定資料表的 EntitySetName

  1. 移至 https://make.powerapps.com

  2. 從側面板選取 Dataverse 索引標籤,然後選取該資料表。

  3. 選取 ... (命令選項),然後選擇進階工具複製集名稱,以將資料表的 EntitySetName 複製到剪貼簿。

    如何尋找 Dataverse 資料表的 EntitySetName。

隱私權法律和法規

所有要求標頭都將具有用於稽核目的的連絡人識別碼。 對於匿名使用者,這將會傳遞為 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/<資料表名稱>/disableodatafilter 設定為 True

重要

將網站設定 Webapi/<資料表名稱>/disableodatafilter 變更為 True 可能會導致 Web API GET 呼叫的效能變慢。

網站設定可在入口網站版本 9.4.10.74 或更新版本中使用。

下一個步驟

使用入口網站 API 查詢資料

另請參閱