1.获取上传ID
- URI:/v1/files
- 使用场景
上传测试APP,上传测试脚本。
- 简述
- 分片上传文件,包括脚本文件和APP文件
- 首先获取upload_id和分片总数
- 按照分片大小陆续读取文件,分片串行上传
上传结束后,调用/v1/files/{upload_id}/app或者/v1/files/{upload_id}/script将文件记录为app或者脚本文件
请求方法:GET
请求参数:
参数名 |
来源 |
类型 |
必填 |
说明 |
User |
Header |
string |
否 |
如果为平台类型的秘钥,可以传递User信息。不是平台类型的,不需要传递。 |
secretid |
query |
string |
是 |
通用参数,所有请求需要带 |
size |
query |
interger |
是 |
|
file_name |
query |
string |
是 |
|
type |
query |
string |
是 |
android script ios |
{
"upload_info": {
"chunk_number": interger, // 分片数量
"chunk_size": interger, // 分片大小,每次上传文件的buf大小
"upload_id": "string" // 新的upload_id,后续通过此标识上传,标识此次上传
},
"msg": "string",
"ret": 0
}
2.上传分片
- URI:/v1/files/{upload_id}/chunks/{chunk_number}
- 使用场景
利用获得的upload_id,上传文件的buffer。每次大小为上个接口返回的chunk_size,总共上传chunk_number片。
- 简述
串行上传文件分片
请求方法:POST
请求参数:
参数名 |
来源 |
类型 |
必填 |
说明 |
User |
Header |
string |
否 |
如果为平台类型的秘钥,可以传递User信息。不是平台类型的,不需要传递。 |
secretid |
query |
string |
是 |
通用参数,所有请求需要带 |
upload_id |
path |
string |
是 |
|
chunk_number |
path |
int |
是 |
|
file |
multipart/form-data |
binary |
是 |
|
{
"chunk_number":integer, // 第几个分片,下一次为此次+1
"last_chunk": boolean, // 是否为最后一个分片,如果为最后一个分片,则需要使用下方接口,转换为app或者script
"msg": "string",
"ret": 0
}
3.转换为app资源
- URI:/v1/files/{upload_id}/app
- 使用场景
最后一个分片上传完毕之后,需要上传补充资源,完善APP信息,返回 app_id
请求方法:POST
请求参数:
参数名 |
来源 |
类型 |
必填 |
说明 |
User |
Header |
string |
否 |
如果为平台类型的秘钥,可以传递User信息。不是平台类型的,不需要传递。 |
secretid |
query |
string |
是 |
通用参数,所有请求需要带 |
upload_id |
path |
string |
是 |
|
file |
body |
multipart/form-data |
是 |
“AndroidManifest.xml”, "resources.arsc"两个文件的打包文件 |
{
"app": {
"app_id": 0, // app_id,后续提交任务需要的app_id,标识此文件
"app_type": "string", // APP类型
"icon_path": "string", // APP中ICON的路径
"name": "string", // APP名
"package": "string", // APP package
"size": 0, // 文件大小
"version": "string" // APP版本
},
"msg": "string",
"ret": 0
}
4.转换为script资源
- URI:/v1/files/{upload_id}/script
- 使用场景
最后一个分片上传完之后,完善sript信息,返回script_id
请求方法:POST
请求参数:
参数名 |
来源 |
类型 |
必填 |
说明 |
User |
Header |
string |
|
否 |
secretid |
query |
string |
是 |
通用参数,所有请求需要带 |
upload_id |
path |
string |
是 |
|
{
"msg": "string",
"ret": 0,
"script": {
"script_id": 0, // script_id,后续提交任务需要的script_id
"size": 0 // 脚本大小
}
}
5.通过app_id获取app信息
- URI:/v1/apps/{app_id}
- 使用场景
通过之前上传的app_id信息,获取资源的信息。
请求方法:POST
请求参数:
参数名 |
来源 |
类型 |
必填 |
说明 |
User |
Header |
string |
否 |
如果为平台类型的秘钥,可以传递User信息。不是平台类型的,不需要传递。 |
secretid |
query |
string |
是 |
通用参数,所有请求需要带 |
app_id |
path |
string |
是 |
|
{
"app": {
"app_id": 0,
// app 类型
"app_type": "string",
// app 下载地址
"app_url": "string",
// app 名称
"name": "string",
// app 的package
"package": "string",
// app 的大小
"size": 0,
// app 的版本
"version": "string"
},
"msg": "string",
"ret": 0
}
6.通过script_id获取script信息
URI:/v1/scripts/{script_id}
使用场景
通过之前上传的script_id信息,获取资源的信息。
请求方法:GET
请求参数
参数名 |
来源 |
类型 |
必填 |
说明 |
User Header |
string |
否 |
如果为平台类型的秘钥,可以传递User信息。不是平台类型的,不需要传递。 |
|
secretid |
query |
string |
是 |
通用参数,所有请求需要带 |
script_id |
path string |
是 |
|
|
{
"script": {
// 文件大小
"size": 0,
// script 下载地址
"script_url": "string"
},
"msg": "string",
"ret": 0
}