共用方式為


入口網站 Web API 概觀

注意

自 2022 年 10 月 12 日起,Power Apps 入口網站為 Power Pages。 其他資訊:Microsoft Power Pages 現在已推出 (部落格)
我們很快就會遷移並將 Power Apps 入口網站文件與 Power Pages 文件併合。

入口網站 Web API 可讓您在 Power Apps 入口網站頁面中取得更豐富的使用者體驗。 您可以使用 Web API 從入口網站頁面跨所有 Microsoft Dataverse 資料表執行建立、讀取、更新和刪除動作。 例如,您可以使用入口網站 API (而非入口網站管理應用程式) 來建立新帳戶、更新連絡人或變更產品的資料表權限

注意

您也可在 Power Pages 中使用入口網站 Web API。 更多資訊:何謂 Power Pages

重要

  • 您的入口網站版本必須為 9.3.3.x 或更新版本,才能使本功能運作
  • 入口網站 Web API 旨在入口網站頁面中建立更豐富的使用者體驗。 它不會針對協力廠商服務或應用程式整合進行最佳化。 也不支援使用入口網站 Web API 與其他 Power Apps 入口網站整合。
  • 入口網頁 API 作業受限於與資料 — (例如:客戶、連絡人或自訂資料表) 的相關資料表。 設定表格中繼資料或入口設定表格資料 —例如,設定入口網站資料表 (例如:adx_contentsnippet、adx_entityform 或 adx_entitylist) —並不支援入口網站 API。 如需完整清單,請前往此主題後面的不支援的設定資料表
  • 入口網站 Web API 受益於伺服器端快取,因此對 Web API 的後續呼叫比初始呼叫更快。 請注意,清除入口網站伺服器端快取會造成暫時的效能下降。
  • 入口網站 Web API 作業需要 Power Apps 入口網站授權。 例如,匿名使用者進行的 Web API 呼叫計入頁面瀏覽量。 經驗證的使用者 (內部或外部) 進行的 Web API 呼叫不計入頁面瀏覽量,但需要適用的授權。 其他資訊:Power Apps 入口網站授權常見問題集

Web API 作業

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

注意

Web API 作業區分大小寫。

入口網站中可用的 Web API 作業

注意

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

Web API 的網站設定

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

注意

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

網站設定名稱 名描述
Webapi/<table name>/enabled 啟用或停用 <table name> 的 Web API。
預設值:False
有效值:TrueFalse
Webapi/<table name>/fields 定義可使用 Web API 修改的以逗號分隔的屬性清單。
可能的值:
- 所有屬性: *
- 特定屬性: attr1,attr2,attr3
注意:值必須是星號(*)或逗號分隔的欄位名稱清單。
重要:這是必要的網站設定。 當這項設定遺失時,會看到「沒有為這個實體定義欄位」的錯誤。
Webapi/error/innererror 啟用或停用 InnerError。
預設值:False
有效值:TrueFalse
Webapi/<table name>/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 要求

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

Using EntitySetName

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

注意

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

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

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

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

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

    如何尋找 Dataverse 資料表的 EntitySetName。

一般資料保護法規 (GDPR)

所有要求標頭都將具有用於稽核目的的連絡人識別碼。 對於匿名使用者,這將會傳遞為 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 要求以取得具有多個層級的 1 對多多對多 資料表權限且定義了上層範圍的資料表,使用者將收到 CDS 錯誤。

為解決此問題,建議的解決方案是在 OData 查詢中使用 FetchXML

或者,將網站設定 Webapi/<table name>/disableodatafilter 設定為 True

重要

將網站設定 Webapi/<table name>/disableodatafilter 變更為 True 可能導致 Web API GET 呼叫的效能變慢。

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

下一個步驟

使用入口網站 API 查詢資料

另請參閱

編寫 HTTP 要求並處理錯誤
入口網站使用 Web API 寫入、更新和刪除作業
教學課程:使用入口網站 Web API

注意

是否能請您告知您偏好的慣用文件語言? 請填寫問卷。 (請注意,本問卷為英文版)

完成問卷大約需要七分鐘。 本問卷將不會收集個人資料 (隱私權聲明)。