Open Connectors 是簡化和加速 SAP 和第三方解決方案之間集成的絕佳選擇,可用的預構建連接器列表很廣泛: Slack,LinkedIn,Twitter,Google Drive,Facebook,Paypal 等。

如果要查看可用連接器的完整列表,請訪問以下鏈接:https://help.openconnectors.ext.hana.ondemand.com/home/full-list

在閱讀了所提供的功能和優點之后,我有一個簡單的問題困擾著我,如果我的 API 在預構建的連接器列表中不可用怎么辦?是否還有辦法可以使用 Open Connectors 提供的功能?

為了找到答案,我訪問了我的試用帳戶,并開始使用可用的選項。

現有的150+連接器并沒有我的需要,為了實現一個有趣的場景,將 Spotify 與 UI5 應用程序集成,我采用了 Web API 的方法

注意:Spotify API 將在本文中用作示例,但真正的目的是解釋如何使用 Open Connectors,即使您的 API 在預構建連接器列表中不可用。

構建一個新的連接器

如果我們在「連接器」列表中搜索 Spotify,我們找不到任何可用的連接器,只有「構建新連接器」選項。

選擇此選項,然后在下一個屏幕中點擊「Import」。


目前,有四種可供選擇的選項:

△ Connector

△ Swagger

△ SOAP

△?OData V4

Connector 是 Open Connectors 本身提供的模式,您可以導出自定義連接器并在不同的租戶中重新導入,Swagger 是一個開源軟件框架,可幫助開發人員設計、構建、記錄和使用 RESTful Web 服務,SOAP 就是消息?Web 服務,用于交換 XML 數據的協議,OData V4 是開放式數據協議,現在主要由 SAP 采用,它提供了一組構建和使用 RESTful API 的最佳實踐,其中包含嵌入在內的元數據和查詢選項等額外功能。

現在我們已經了解了可用的選項,讓我們探索 [Spotify for Developers](https://developer.spotify.com/)?頁面,以了解訪問數據的最佳方式。檢查文檔,我們可以找到以下可選項:

我們來看一下 Web API 文檔。

Spotify Web API 基于簡單的 REST 規則,Spotify Web API 可直接從Spotify 數據目錄返回有關音樂、藝術家、專輯和曲目的 JSON 元數據,這是 UI5 應用程序的完美集成方案!

在 Developer Portal 中可以在 Spotify 的 GitHub 帳戶中,找到 Web API 的定義,您可以通過鏈接訪問 [GitHub Spotify Web API](https://github.com/spotify/web-api/) 。

目前只有一個問題,目前的定義是基于 RAML(RESTful API 建模語言),我們需要找到一種方法,在構建連接器之前將此規范轉換為 Swagger。

有不同的方法可以解決這個問題,但我找到了 [APIMATIC](https://www.apimatic.io/) 。此服務提供了一個 API Transformer,可以快速解決此問題。注冊該服務,然后按「Convert Now」按鈕。

插入 GitHub 項目中可用的 api.raml 文件的 URL,然后按 Convert Now。系統執行腳本,幾秒鐘后您就會收到新的 Swagger Web API 定義的下載。

* Spotify Web API RAML: 

https://github.com/spotify/web-api/blob/master/specifications/raml/api.raml

讓我們回到 Open Connectors 并繼續前面的步驟。

導入 Swagger 文件并按 CONTINUE IMPORT。

選擇所有資源,輸入 Element Key,接著單擊 Import 以關閉引導。

連接器是根據 Swagger 文件中的規范生成的,您可以通過新連接器的配置查看以下界面。

注意:RAML 規范將 API 的版本存儲在參數中,但在轉換和上傳Swagger 期間,需要在連接器屬性中修復一個小錯誤,修改 Base URL,刪除 DefaultParameterValue 并替換為 v1。

* 預期的基本 URL:https://api.spotify.com/v1

點擊「Information」選項卡并更新連接器的文檔和徽標。您可以從 [品牌指南](https://developer.spotify.com/branding-guidelines/)?頁面下載其徽標。

現在我們的規范已成功加載,我們只需要調整 Authentication 的設置,并執行連接測試。

要了解可用的身份驗證方法,讓我們再一次探索 Spotify 開發人員文檔,我們可以在[授權指南]中(https://developer.spotify.com/documentation/general/guides/authorization-guide/)?找到我們需要的所有相關信息。

正如官方指南中所述,Spotify API 有兩種方法可以進行身份 驗證:

△ 應用授權

△ 用戶授權

在選擇選項之前,我們首先需要在 [開發人員儀表板中](https://developer.spotify.com/dashboard/applications)??[注冊應用程序](https://developer.spotify.com/documentation/general/guides/app-settings/#register-your-app) 。打開儀表板,然后選擇「創建應用程序」選項。

定義名稱,描述和應用類型。

在第二個屏幕中選擇一個非商業應用程序,移至第三個屏幕,確認協議并提交。現在已創建應用程序,您可以準備好使用客戶端 ID 和客戶端密鑰。

點擊「編輯設置」按鈕…

填寫選項「重定向 URL」,并在白名單使用 SAP 云平臺認證:https://auth.cloudelements.io/oauth。

配置應用程序后,就可以評估文檔,并了解我們如何對 API 進行身份驗證。在官方文檔中,我們可以看到三種不同的授權流程。

為了本文測試,我們將使用 Authorization Code 流程 ,在最復雜的場景中驗證應用程序。使用此選項,我們可以訪問「用戶資源」并在到期時間(通常為1小時)后自動「刷新令牌」。

讓我們檢查一下 Authorization Code 流程中涉及的所有步驟:

注意:應用程序(openconnectors)會觸發初始身份驗證請求,將用戶重定向到 Spotify Accounts Service,他需要確認訪問權限,確認后應用程序將重定向回具有新「訪問令牌」的「OAuth 重定向 URL」。使用此「令牌」,應用程序可以代表用戶執行所有 Web API 操作,如果令牌過期,則通過 Spotify Accounts Service 請求新令牌而無需用戶的交互。

現在是時候回到 Open Connectors,并結束這個新連接器的 Authentication 配置了。選擇 OAuth2 身份驗證方法,您將看到開箱即用的幾個參數。

注意:如果您從未聽說過 OAuth2 ,我建議您查看 [官方文檔](https://oauth.net/2/) 以了解此授權協議的工作原理。

上圖中的參數由 Open Connectors 自動提供,它們基于 OAuth2 規范。讓我們使用 [授權代碼流程中](https://developer.spotify.com/documentation/general/guides/authorization-guide/#authorization-code-flow) 提供的數據更新它們:

△ OAuth授權URL:https://accounts.spotify.com/authorize

△ OAuth API密鑰:<YOUR_CLIENT_ID>

△ OAuth API秘密:<YOUR_CLIENT_SECRET>

△ OAuth回調網址:https://auth.cloudelements.io/oauth

△ OAuth令牌網址:https://accounts.spotify.com/api/token

△ OAuth范圍:用戶讀取私有用戶讀取電子郵件

△ OAuth令牌刷新網址:https://accounts.spotify.com/api/token

△ OAuth刷新間隔:3600

△ OAuth令牌撤銷網址:https://accounts.spotify.com/api/token

△ OAuth基本標題:true

完成此配置后,按「保存」,再次打開「連接器」頁面,這次搜索 Spotify 時,您將看到可供使用的新連接器。

當您將鼠標移到卡片上時,可以看到一些額外的選項,單擊 Authenticate 以啟動該過程并創建一個新實例。

選擇實例的名稱(在我的示例中為 feliperodrigues),打開可選字段并確認「客戶端ID」和「客戶端密鑰」。最后按「創建實例」按鈕。

打開連接器會自動重定向到 Spotify 授權頁面并請求訪問確認。

按下按鈕同意和 Spotify 帳戶服務將重定向到 SAP Cloud Platform,在收到令牌后,SCP 會再次重定向回打開連接器,并顯示以下成功消息:

在用戶的帳戶的 Spotify,打開鏈接 [應用程序](https://www.spotify.com/au/account/apps/)?,并檢查 openconnectors 在授權的應用程序列表中的應用程序,通過該頁面,也可以撤銷訪問。

讓我們回到 Open Connectors 并訪問標題 Test in the API docs。

在此頁面中,您可以看到名為 feliperodrigues 的經過身份驗證的實例以及可用于測試的 API 操作。

向下滾動并打開方法 GET / browse / categories,按下試用按鈕。

現在這些字段可用于已經填充了授權令牌的版本,可以隨意更新過濾器,或者只是按下 Execute 按鈕以首次測試 Web API。

如果一切都按預期運行,您應該收到200作為響應代碼和響應正文中可用的 JSON 中的類別列表。檢查以下結果:

?到這里,已經完成了這個成功的測試。

如果你想繼續這一步,我建議你閱讀 Divya 的文章(第3、4部分)

希望你喜歡這些內容,下次再見。

文章轉自微信公眾號@SAP天天事

上一篇:

iOS 持續集成:更完備的 App Store Connect API

下一篇:

簡單實現AI音樂suno-api
#你可能也喜歡這些API文章!

我們有何不同?

API服務商零注冊

多API并行試用

數據驅動選型,提升決策效率

查看全部API→
??

熱門場景實測,選對API

#AI文本生成大模型API

對比大模型API的內容創意新穎性、情感共鳴力、商業轉化潛力

25個渠道
一鍵對比試用API 限時免費

#AI深度推理大模型API

對比大模型API的邏輯推理準確性、分析深度、可視化建議合理性

10個渠道
一鍵對比試用API 限時免費