2019 © KKBOX.
KKBOX 的 Open API 提供了 KKBOX 丰富音乐库中的各种数据。 它可以帮助你访问 KKBOX 歌曲、专辑、艺人歌单等数据。
这是一个纯 Swift 实现的客户端,用于访问 KKBOX 的 Open API。 你可以使用 Swift Package Manager 或 CocoaPods 轻松地将 SDK 集成到你的 iOS/macOS/watchOS/tvOS 项目中。
该 SDK 利用了 Swift 编程语言的许多强大功能,例如将 API 响应封装到枚举中,以及自 Swift 4 以来的 JSON 编码器/解码器。
另一方面,SDK 无法直接在你的 Objective-C 代码中调用。 如果你需要在你的 Objective-C 代码中使用 KKBOX 的 Open API,你可能需要将 SDK 封装在你自己的桥接代码中,或者,你可能需要查看 KKBOX 的 Objective-C SDK
更多信息,请访问 KKBOX 开发者网站。
该 SDK 支持:
该 SDK 使用 NSURLSession 来进行 HTTP 连接。 由于 NSURLSession 尚未移植到 Linux,因此你还不能在 Linux 上运行 Swift SDK,即使 Swift 可以在 Linux 上运行。
你需要最新的 Xcode 和 macOS。 建议使用 Xcode 9 和 macOS 10.13 High Sierra。
该 SDK 支持 CocoaPods 和 Swift Package Manager。
该 SDK 支持 CocoaPods。 请将 pod 'KKBOXOpenAPISwift'
添加到你的 Podfile,然后调用 pod install
。
将以下行添加到你的 Cartfile
github 'KKBOX/OpenAPI-Swift'
然后运行 carthage update
。
将该 SDK 作为依赖项添加到你的 Package.swift
// swift-tools-version:4.0
import PackageDescription
let package = Package(
name: "KKBOXOpenAPI-test",
products: [
.executable(name: "KKBOXOpenAPI-test", targets: ["YourTargetName"])
],
dependencies: [
.package(url: "https://github.com/KKBOX/OpenAPI-Swift", .upToNextMinor(from: "1.1.6"))
],
targets: [
.target(name: "YourTargetName", dependencies: ["KKBOXOpenAPISwift"], path: "./Path/To/Your/Sources")
]
)
要开始使用 SDK,你需要创建一个 KKBOXOpenAPI 的实例。
let API = KKBOXOpenAPI(clientID: "YOUR_CLIENT_ID", secret: "YOUR_CLIENT_SECRET")
然后,通过传递客户端凭据,让该实例获取访问令牌。
_ = try? self.API.fetchAccessTokenByClientCredential { result in
switch result {
case .error(let error):
// Handle error...
case .success(_):
// Successfully logged-in
}
}
最后,你可以开始进行 API 调用。 例如,你可以通过调用“fetchTrack”来获取歌曲的详细信息。
_ = try? self.API.fetch(track: "4kxvr3wPWkaL9_y3o_") { result in
switch result {
case .error(let error):
// Handle error...
case .success(let track):
// Handle the song track.
}
}
你可以使用 Swift 或 Objective-C 编程语言来开发你的应用程序,尽管我们这里只有 Swift 示例代码。
版权所有 2019 KKBOX Technologies Limited
根据 Apache License, Version 2.0(“许可证”)获得许可;除非遵守许可证的规定,否则不得使用此文件。 你可以在以下位置获得许可证的副本:
https://apache.ac.cn/licenses/LICENSE-2.0
除非适用法律要求或书面同意,否则根据“按原样”基础分发的软件,不附带任何形式的明示或暗示的保证或条件。 有关管理权限和限制的特定语言,请参见许可证。