所有文章 > API产品 > 26步,把 Spotify 音乐集成进 SAP

26步,把 Spotify 音乐集成进 SAP

SAP Cloud Platform Open Connectors 提供预构建和功能丰富的连接器,可简化连接,并与150多个非 SAP 云应用程序无缝集成。

用户可以通过协调的 RESTful API 连接到第三方 API,并可以开发和映射规范数据模型,以扩展预构建的连接器。此外,用户还可以轻松地在不同的连接器上构建 API 组合。

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天天事

#你可能也喜欢这些API文章!
搜索、试用、集成国内外API!
幂简集成API平台已有 4616种API!
API大全
同话题下的热门内容
na
API 市场在 5 个领域中的作用
na
人工智能API产品的定价模式