1. 程式人生 > 其它 >如何使用 SAP API Portal Policy Editor 給 SAP API 呼叫自動新增認證資訊

如何使用 SAP API Portal Policy Editor 給 SAP API 呼叫自動新增認證資訊

開啟 API portal,找到要編輯的 API,點選開啟,進入明細頁面:

點選 Policies:

在策略編輯器的右側,您可以看到開箱即用的策略,可幫助您為您的用例選擇策略。所有安全策略都分組在安全下,類似的流量管理策略、中介策略和擴充套件策略也相應地分組。

策略編輯器的左側有 Flows,PreFlow 和 PostFlow 位於代理端點和目標端點下。

左邊選中 PreFlow,右邊選擇 Mediation Policies -> Assign Message,

在 Create Policy 面板裡,Stream 選擇成 Incoming Request:

新增好的 Policy 在 Policy 裡顯示如下圖所示:

進入 source code 原始碼編輯器:

複製如下內容:

<AssignMessage async="false" continueOnError="false" enabled="true" xmlns='http://www.sap.com/apimgmt'>
<Add>
<Headers>
    <Header name="apikey">e9ZLBOfIplCOnibykWXsAfkMUexchhHN</Header>
    <Header name="Accept-Encoding">gzip,deflate</Header>
   </Headers>
</Add>
<IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
<AssignTo createNew="false" type="request"></AssignTo>
</AssignMessage>

您必須用之前複製的 API 金鑰替換標記的文字。

此程式碼將使 SAP API 管理將所需的 API 金鑰值新增到傳送到 API 中心的每個請求,並接受用於為消費者有效傳輸資料的壓縮格式。

同理,給 A_SalesOrder flow,新增一個 Mediation Policies 下面的 Assign Message:

<!-- This policy can be used to create or modify the standard HTTP request and response messages -->
<AssignMessage async="false" continueOnError="false" enabled="true" xmlns='http://www.sap.com/apimgmt'>

 	<!-- Sets a new value to the existing parameter -->
 	<Add>
<QueryParams>
    <QueryParam name="$top">3</QueryParam>
</QueryParams>
</Add>

 	<IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
 	<AssignTo createNew="false" type="request"></AssignTo> </AssignMessage>

這將限制 S/4HANA 返回的欄位數。

儲存 Policy 之後,直接點選部署成功後的 API proxy url:

就能直接使用 policy 裡編輯的 API key,訪問到 S/4HANA cloud Sales Order API,而不用輸入使用者名稱和密碼了:

更多Jerry的原創文章,盡在:"汪子熙":