在 Power Apps 中建立自訂 API

本文說明如何利用解決方案在 Power Apps 中為 Microsoft Dataverse 建立自訂 API。 請依照以下步驟定義請求與回應屬性,測試自訂 API,並關聯其外掛型別。 如果你不熟悉解答,先讀《 建立解答》。

您的解決方案必須與發行者相關聯。 發行者具有與其相關聯的特定自訂前置詞。 建立自訂 API 時必須使用自訂前綴,且該前綴應與解決方案發布者使用的前綴相同。 下列指示會使用該值 sample 作為自訂前置詞,因為它是為發行者設定的值。

這很重要

  • 現在有更好的體驗來建立自訂 API。 您可以在外掛程式註冊工具中使用設計器。 欲了解更多資訊,請參閱 使用外掛註冊工具建立自訂 API
  • 你在建立自訂 API 後,無法更改許多與建立自訂 API 相關的欄位。 在開始前,請仔細規劃自訂 API 的設計。 如果你之後決定需要更改這些欄位,可能需要刪除現有紀錄並重新建立自訂 API。 欲了解更多資訊,請參閱 CustomAPI 資料表。

建立自訂 API 記錄

  1. 在您的解決方案中,從下拉式清單中選取新增>更多>其他>自訂 API

  2. 編輯欄位以設定自訂 API 的屬性。 請設定以下欄位的值。 欲了解更多資訊,請參閱 自訂 API 資料表欄位

    在建立外掛程式之前,您無法設定「 外掛程式類型」 的值。 這個數值你可以之後再調整。

  3. 選取 [儲存]。 你的表單應該看起來像以下圖片: 已儲存的自訂 API 表單截圖及其已設定屬性。

建立請求參數

自訂 API 不需要參數。 建立所需數量的參數,以傳遞邏輯所需的資料。

  1. 在您的解決方案中,從下拉式清單中選取 [新增>更多>其他>自訂 API 要求參數 ]。

  2. 編輯欄位以設定自訂 API 請求參數的屬性。 欲了解更多資訊,請參閱 CustomAPIRequestParameter Table Columns

  3. 選取 [儲存]。 你的形態應該看起來像以下圖片:

    範例自訂 API 請求參數表單的截圖。

建立回應屬性

代表動作的自訂 API 不需要回應屬性。 函數必須至少有一個。 如果作業成功,則會傳回成功回應。 如果失敗,則會傳回錯誤。 為你的 API 回傳的任何資料定義回應屬性。

如果你只定義單一 的 EntityEntityCollection 回應屬性,回應就是該類型。 如果你定義多個屬性,或一個或多個簡單型別的屬性,API 會回傳一個複雜型態,每個回應屬性都是該複雜型態的屬性。

例如,如果你自訂的 API 唯一名稱是 sample_CustomAPIExample,它會回傳一個複雜型態, sample_CustomAPIExampleResponse 並針對你定義的每個回應屬性。

  1. 在您的解決方案中,從下拉式清單中選取 [新增>更多>其他>自訂 API 回應屬性 ]。

  2. 編輯欄位以設定自訂 API 回應屬性的屬性。 欲了解更多資訊,請參閱 CustomAPIResponseProperty 表格欄位。

  3. 選取 [儲存]。 你的形態應該看起來像以下圖片:

    範例自訂 API 回應屬性表單的截圖。

查看服務文件中的結果

如果你沒有為自訂 API 設定該IsPrivate屬性,你也可以透過GET請求從 CSDL $metadata 文件中取得服務定義,甚至是在瀏覽器中。 如果你的環境 URL 是 https://yourorg.crm.dynamics.com,你可以在瀏覽器地址欄位輸入此 URL,取得 $metadata: https://yourorg.crm.dynamics.com/api/data/v9.1/$metadata

在結果中搜尋自訂 API 的名稱。 例如,使用前述步驟定義的 API 如下:

<ComplexType Name="sample_CustomAPIExampleResponse">
    <Property Name="StringProperty" Type="Edm.String" Unicode="false" />
</ComplexType>
<Action Name="sample_CustomAPIExample">
    <Parameter Name="StringParameter" Type="Edm.String" Nullable="false" Unicode="false" />
    <ReturnType Type="mscrm.sample_CustomAPIExampleResponse" Nullable="false" />
</Action>

測試您的自訂 API

建立自訂 API 後,你可以嘗試使用。 即使你沒有設定外掛類型來定義主要操作,你現在也可以測試,確認能正確呼叫它。 任何回應屬性都會傳回其預設值,例如 null。 欲了解更多資訊,請參閱 調用自訂 API

更新自訂 API 外掛類型

如需如何撰寫自訂 API 外掛程式的相關資訊,請參閱 撰寫自訂 API 的外掛程式

註冊組件後,您需要為您建立的自訂 API 設定 Plug-in 類型值。 這個值是查找屬性,所以你只需要找到代表你註冊組裝時產生的外掛類型。

用來設定自訂 API 外掛型別的查詢截圖。

設定外 掛類型後,你可以測試自訂 API 以確認結果是否正確。

建立自訂 API 的其他方式

外掛程式註冊工具提供自訂 API 設計工具。 欲了解更多資訊,請參閱 使用外掛註冊工具建立自訂 API

您可能需要建立允許在設計工具外部建立自訂 API 的用戶端應用程式。 因為自訂 API 的資料是儲存在表格中,你可以用程式碼來建立它們。 欲了解更多資訊,請參閱 「建立一個自訂 API with code」。

為您的 ALM 流程提供更佳服務的方法,可能是透過編輯解決方案檔案來建立自訂 API。 欲了解更多資訊,請參閱 「建立包含解決方案檔案的自訂 API」。

另請參閱

建立與使用自訂 API
使用外掛程式註冊工具建立自訂 API
使用程式碼建立自訂 API
使用解決方案檔案建立自訂 API
建立您自己的訊息