1. SDK集成方法
1.1 SDK的组成
迅雷开放SDK目前封装为一个动态链接库,提供了接口头文件(Windows平台还包含导入库)和示例程序。
1.2 SDK集成步骤
1.2.1 申请client_id和相应的密钥
目前只有开放平台管理员有资格,由迅雷对接人在开放平台注册应用。合作方需要提供信息:应用名称,信任授权域名列表,组织名
迅雷下载库注册 Key 和 Name
迅雷开放平台注册商家信息,并返回相关配置给商家(其中 client_id == Key)输入:
name: 应用名称
scopes: 选择client可使用的scopes细则范围,签发token带上
login.login
xtask.p2sp
xtask.emule
xtask.magnet
xindex.query
domain: 允许的域名(或包名)(例如 com.test),Login时带上
type: 应用类型(客户端||服务端)
description: 应用描述,额外信息
输出:
client_id
用于签发token (合作方应用标识)
client_secret
用于签发token
scopes
用于签发token
project_id
用于签发token (project_id 当前统一为:2rvk4e3gkdnl7u1kl0k)
1.2.2 登录和下载流程
1.3 代码示例
1.3.1 放置dll库
头文件:xl_sdk_interface.h
库文件:xl_sdk.dll
1.3.2 示例程序#include "xl_sdk_interface.h"
#include
#define TEST_CLIENTID "Need a valid ClientID"
#define TEST_APPNAME "Need a valid AppName"
#define TEST_APPVERSION "1.0"
#define TEST_DOMAIN "i.xunlei.com"
const char* GetLoginToken(){
static char loginToken[4096] = { 0 };
printf("Input a login token:\n");
scanf("%s", loginToken);//用户根据ClientID生成登录Token
printf("\n");
return loginToken;
}
const char* GetTaskToken(const char* sessionID){
static char taskToken[4096] = { 0 };
printf("Input a task token:\n");
scanf("%s", taskToken); //用户根据SessionID生成任务Token
printf("\n");
return taskToken;
}
int main(int argn, char** argv){
XLSDK_INIT_PARAM initParam =
{
TEST_CLIENTID,
TEST_APPNAME,
TEST_APPVERSION,
"d:\\Temp\\"
};
XLSDK_ERRNO initResult = XLSDK_Init(&initParam);
printf("XLSDK_Init clientID:%s\n appName:%s\n appVersion:%s\n cfgPath:%s\n initResult:%d\n\n",
initParam.clie