从Audius SDK开始
概览
Audius JavaScript (TypeScript) SDK允许您轻松地与Audius协议互动. 使用 SDK 以 :
- 搜索并显示用户、音轨和播放列表
- QQ 流出并上传音轨
- QQ 最爱, 重播, 和目录播放列表
- QQ 允许您的用户 登录他们的 Audius 账户 并代表他们采取行动
还有更多!
API 计划
Audius提供两个API计划:
| 计划 | 费率限制 | 每月请求 |
|---|---|---|
| 免费 | 10项请求/第二次 | 500 000项请求/月 |
| 无限制 | 无限制 | 无限制 |
自由计划总是自由而不受限制. 更高的限制和支持,联系人 [email protected] (英语) 关于无限计划.
获取您的 API 密钥
-
访问 奥迪乌斯 API 计划页 并单击“创建 API 密钥”生成您的证书.
-
你会收到一个 API 密钥 (单位:千美元) 守护者托肯。 。 。 .
- API 密钥 ——用于所有上下文(前端和后端). 安全地包含在客户端代码中.
- 守护者托肯 ——仅是后端. 授予您的应用程序代表授权用户行事的能力. 永远不要在浏览器或移动码中披露这一点.
安装 SDK
节点.js
如果您的项目处于节点.js环境中,请在终端运行此操作:
npm install @audius/sdk
HTML + 联合来文
否则,请在您的网页中加入 SDK 脚本标记 。 Audius SDK将分配到 window.audiusSdk。 。 。 .
<script src="https://cdn.jsdelivr.net/npm/@audius/sdk@latest/dist/sdk.min.js"></script>
初始化 SDK
您如何初始化 SDK 取决于您是否运行在 后端 (节点.js)或 前端 (浏览器/移动)上下文.
节点.js(后端)实例
包含您的 API 密钥和无记名符号 。 无记名符使您的应用程序能够代表授权的用户执行动作.
import { sdk } from '@audius/sdk'
const audiusSdk = sdk({
apiKey: 'Your API Key goes here',
bearerToken: 'Your Bearer Token goes here'
})
HTML + JS (前端) 实例
在浏览器或移动上下文中,初始化为您 只有 API 密钥 - 没有无记名标志。 用户认证通过 OA 流量 说明如下.
const audiusSdk = window.audiusSdk({
apiKey: 'Your API Key goes here'
})
* 警告
永远不要在前端代码中包含你的无记名符号. 无记名标志允许您的应用程序代表已经授权的用户行事. 在客户端代码(浏览器或移动)中曝光它是一个严重的安全风险——任何检查您代码的人都可以使用它来冒充您的应用程序.
对于前端应用程序,请使用 OA 流量 换句话说.
* :
使用 SDK 拨打您的第一个 API
一旦你得到了SDK的初始化实例, 它的平滑航行 让你的第一个API呼叫.
// Fetch your first track!
const track = await audiusSdk.tracks.getTrack({ trackId: 'D7KyD' })
console.log(track, 'Track fetched!')
// Favorite a track
const userId = (
await audiusSdk.users.getUserByHandle({
handle: 'Your Audius handle goes here'
})
).data?.id
await audiusSdk.tracks.favoriteTrack({
trackId: 'D7KyD',
userId
})
完整节点.js 示例
import { sdk } from '@audius/sdk'
const audiusSdk = sdk({
apiKey: 'Your API Key goes here',
bearerToken: 'Your Bearer Token goes here'
})
const track = await audiusSdk.tracks.getTrack({ trackId: 'D7KyD' })
console.log(track, 'Track fetched!')
const userId = (
await audiusSdk.users.getUserByHandle({
handle: 'Your Audius handle goes here'
})
).data?.id
await audiusSdk.tracks.favoriteTrack({
trackId: 'D7KyD',
userId
})
console.log('Track favorited!')
HTML + JS 实例
<!DOCTYPE html>
<html>
<head>
<script src="https://cdn.jsdelivr.net/npm/@audius/sdk@latest/dist/sdk.min.js"></script>
<script>
const fn = async () => {
const audiusSdk = window.audiusSdk({
apiKey: 'Your API Key goes here'
})
const track = await audiusSdk.tracks.getTrack({ trackId: 'D7KyD' })
console.log(track, 'Track fetched!')
}
fn()
</script>
</head>
<body>
<h1>Example content</h1>
</body>
</html>
与 Audius (OAuth) 登录
对于前端app,使用内置的OAuth 2.0 PKCE流量认证用户. 这使得您的用户可以登录他们的Audius账户,并授权您的应用程序代表他们行事——而不会在客户端代码中暴露您的应用程序的无记名标志.
const audiusSdk = window.audiusSdk({
apiKey: 'Your API Key goes here',
redirectUri: 'https://your-app.com/oauth/callback'
})
// Redirect the user to Audius to log in
audiusSdk.oauth.login()
// On your callback page, handle the redirect:
await audiusSdk.oauth.handleRedirectCallback()
在用户登录入库后,SDK自动存储其访问令牌,并将其列入之后的API呼叫中. 见 日志 与奥迪乌斯指南 为了整个流动.
接下来呢?
-
与 Audius 登录 添加 OAuth 认证到您的前端app
-
探索 API 文档 看看你还能用奥迪乌斯SDK做什么
直接 API 访问
也可以不用SDK直接访问Audius API. 以下例子使用无记名标志,意在 仅使用后端/服务器侧 ——不要在浏览器或移动码中使用你的无记名符号.
瑞斯・阿普:
curl -X GET "https://api.audius.co/v1/tracks/trending" \
-H "Authorization: Bearer <YOUR-API-BEARER-TOKEN>"
(原始内容存档于2018-03-26). gRPC:
grpcurl -H "authorization: Bearer <YOUR-API-BEARER-TOKEN>" \
grpc.audius.co:443 list
详情请访问 API 文档 或 Swagger 定义。 。 。 .