如何使用 SAP API Portal Policy Editor 給 SAP API 呼叫自動新增認證資訊
阿新 • • 發佈:2021-07-05
開啟 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的原創文章,盡在:"汪子熙":