Fursuit Tv Sdk
class FursuitTvSdk
Fursuit.TV SDK 主客户端
提供多种初始化方式,适用于不同的使用场景:
认证方式说明:
Client 认证:适用于应用级 API,使用 X-Api-Key 或 Authorization Bearer
通过签名交换接口(POST /api/auth/token)获取 accessToken 和 apiKey
认证头:X-Api-Key:
或 Authorization: Bearer OAuth 认证:适用于用户授权场景,仅可用于 UserInfo 接口
通过 OAuth 授权流程获取 access_token
认证头:X-OAuth-Access-Token:
+ Authorization: Bearer (双 header)
官方文档参考:
vds-docs/基础接口/签名交换.md - 签名交换流程
vds-docs/认证方式与服务器端点.md - 认证方式说明
vds-docs/VDS 账户/VDS 账户快速接入(OAuth).md - OAuth 流程
// ========== 方式 1: 使用 apiKey(Client 认证)==========
// 认证头:X-Api-Key
// 适用场景:应用级 API
// 说明:apiKey 通过签名交换接口获取(使用 appId + appSecret)
val sdk1 = FursuitTvSdk(apiKey = "your-api-key")
// ========== 方式 2: 使用 clientId + clientSecret(推荐,Client 认证)==========
// 认证头:Authorization: Bearer <accessToken>
// 适用场景:应用级 API
// 说明:通过签名交换获取 accessToken
// 官方文档:vds-docs/基础接口/签名交换.md
val sdk2 = FursuitTvSdk(
clientId = "vap_xxxxxxxxxxxxxxxx",
clientSecret = "your-client-secret"
)
runBlocking {
sdk2.auth.exchangeToken(clientId, clientSecret)
}
// ========== 方式 3: 使用 accessToken(Client 认证)==========
// 认证头:Authorization: Bearer <accessToken>
// 适用场景:应用级 API
val sdk3 = FursuitTvSdk(accessToken = "your-access-token")
// ========== 方式 4: 使用 OAuth 认证(OAuth 2.0 授权码模式)==========
// 认证头:X-OAuth-Access-Token: <oauth-token> + Authorization: Bearer <apiKey>
// 适用场景:用户授权场景(仅可用于 UserInfo 接口)
// 前置条件:必须先调用 exchangeToken() 获取 Client accessToken
// 警告:OAuth token 和 Client token 不通用,不能混用
// 官方文档:vds-docs/VDS 账户/VDS 账户快速接入(OAuth).md
runBlocking {
// 第一步:先通过签名交换获取 Client accessToken
val clientSdk = FursuitTvSdk(clientId = "vap_xxxxx", clientSecret = "secret")
clientSdk.auth.exchangeToken("vap_xxxxx", "secret")
// 第二步:使用 OAuth 获取用户授权
val config = OAuthConfig(callbackHost = "localhost", callbackPort = 8080)
val oauthSdk = FursuitTvSdk.initWithOAuth("vap_xxxxx", config)
// 第三步:调用 UserInfo 接口
val userInfo = oauthSdk.user.getUserProfile("username")
}
// ========== 调用 API ==========
val userProfile = sdk.user.getUserProfile("username")
val popularUsers = sdk.search.getPopular()
// ========== 关闭 SDK ==========
sdk.close()Content copied to clipboard
See also
签名交换
(基础接口/签名交换.md)
认证方式与服务器端点
(认证方式与服务器端点.md)
VDS 账户/VDS 账户快速接入(OAuth).md
Constructors
Link copied to clipboard
使用 API 密钥初始化 SDK(Java 友好) 使用默认配置创建 SDK 实例
constructor(apiKey: String, baseUrl: String = "https://open-global.vdsentnet.com", tokenInfo: TokenInfo? = null)
使用 API 密钥和自定义基础 URL 初始化 SDK
使用访问令牌初始化 SDK 适用于已有访问令牌的用户(例如从 OAuth 流程或其他认证方式获得)
constructor(clientId: String, clientSecret: String, baseUrl: String = "https://open-global.vdsentnet.com")
使用 clientId 和 clientSecret 初始化 SDK(推荐方式) 适用于新用户,通过签名交换获取 accessToken
使用自定义配置初始化 SDK 允许完全自定义 SDK 的各种参数