点动云ARM云手机服务器,API认证授权接口

2022-03-06 15:41发布

1、认证授权接口

认证授权

  • 用于获取脚本开发所用的开发 token

请求URL
  • http://ip:9207/bytezoomapi/v2/login?user=xxx&pwd=xxx

请求方式
  • GET

参数

参数名

必选

类型

默认值

说明

user

string

用户名


pwd

string

密码


返回示例
  {
    "code": 0,
    "errmsg":"success",
    "result": {
        "token": "xfdsafdsfsdfdsfsd",
    }
  }
返回参数说明

参数名

类型

说明

token

string

api接口授权token

2、云手机接口

获取云手机基本信息

  • 获取云手机基本信息,可选参数device和state

请求URL
  • http://ip:9207/bytezoomapi/v2/phone?device=*&state=online&token=xxxxx

请求方式
  • GET

参数

参数名

必选

类型

默认值

说明

token

string

授权token


device

string

设备型号


state

string

云手机状态


说明:device 和 state缺省时,表示获取所有云手机信息。

请求示例
    #  python实现
    import requests
    url = 'http://localhost:9207/bytezoomapi/v2/phone?token=axbxilljfsjlkl'
    res = requests.get(url)
返回示例
  {
    "code": 0,
    "errmsg":"success",
    "result": {
        "phone":[{
            "id":"phone001",
            "device": "xiaomi",
            "name":"xxxx",
            "state":"online",
            "ip":"xxx.xxx.xxx.xx",
            "index":1
        }]
    }
  }
返回参数说明

参数名

类型

说明

id

string

云手机唯一身份ID

device

string

云手机设备型号

name

string

云手机别名,用户可自定义修改

state

string

云手机状态,online:在线;offline:离线

ip

string

云手机局域网内IP

index

int

云手机序号,用户可修改

设置云手机基本信息

  • 设置云手机基本信息:自定义手机名称,自定义手机序号

请求URL
  • http://ip:9207/bytezoomapi/v2/phone/:phoneId/info?token=xxxxx

请求方式
  • POST

参数

参数名

必选

类型

默认值

说明

token

string

授权token


phoneId

string

云手机ID


name

string

手机名称


index

int

手机序号


说明:name 和 index字段必须有一项。

请求示例
    #  python实现
    import requests
    url = 'http://localhost:9207/bytezoomapi/v2/phone/phone001/info?token=axbxilljfsjlkl'
    datas = {"name":"1号手机"}
    res = requests.post(url, data=datas)
返回示例
  {
    "code": 0,
    "errmsg":"success"
  }

重启云手机

  • 重启云手机,参数中指定需要重启的云手机ID

请求URL
  • http://ip:9207/bytezoomapi/v2/phone/:phoneId/reboot?token=xxxxx

请求方式
  • POST

参数

参数名

必选

类型

默认值

说明

token

string

授权token


phoneId

string

云手机ID


说明:当phoneId为"*"时,表示重启所有云手机。

请求示例
    #  python实现
    import requests
    url = 'http://localhost:9207/bytezoomapi/v2/phone/phone001/reboot?token=axbxilljfsjlkl'
    data = {}
    res = requests.post(url, data=datas)
返回示例
  {
    "code": 0,
    "errmsg":"success"
  }

云手机恢复出厂设置

  • 恢复出厂设置,参数中指定需要恢复出厂设置的云手机ID

请求URL
  • http://ip:9207/bytezoomapi/v2/phone/:phoneId/factoryReset?token=xxxxx

请求方式
  • POST

参数

参数名

必选

类型

默认值

说明

token

string

授权token


phoneId

string

云手机ID


请求示例
    #  python实现
    import requests
    url = 'http://localhost:9207/bytezoomapi/v2/phone/phone001/factoryReset?token=axbxilljfsjlkl'
    datas = {}
    res = requests.post(url, data=datas)
返回示例
  {
    "code": 0,
    "errmsg":"success"
  }

云手机清理SD卡

  • 清理SD卡,参数中指定需要清理SD卡的云手机ID和分身序号

请求URL
  • http://ip:9207/bytezoomapi/v2/phone/:phoneId/cleanSdcard?token=xxxxx

请求方式
  • POST

参数

参数名

必选

类型

默认值

说明

token

string

授权token


phoneId

string

云手机ID


index

string

分身序号


说明:当index为"*", 或者缺省时,表示清理该云手机所有分身的SD卡数据。

请求示例
    #  python实现
    import requests
    url = 'http://localhost:9207/bytezoomapi/v2/phone/phone001/cleanSdcard?token=axbxilljfsjlkl'
    datas = {"index":"1"}
    res = requests.post(url, data=datas)
返回示例
  {
    "code": 0,
    "errmsg":"success"
  }

云手机截屏

  • 对指定云手机进行截屏

请求URL
  • http://ip:9207/bytezoomapi/v2/phone/:phoneId/snapshot?token=xxxxx

请求方式
  • GET

参数

参数名

必选

类型

默认值

说明

token

string

授权token


phoneId

string

云手机ID


请求示例
    #  python实现
    import requests
    url = 'http://localhost:9207/bytezoomapi/v2/phone/phone001/snapshot?token=axbxilljfsjlkl'
    res = requests.get(url)
返回示例
 {
    "code": 0,
    "errmsg":"success",
    "result":{
        "snapshot":"iVBORw0KGgoAAAANSUhEUgAAALIAAAAYCAYA"
    }
  }
 
  说明:图片内容采用base64编码格式

获取云手机虚拟分身信息

  • 云手机虚拟分身信息包含手机机型数据、wifi、gps等信息

请求URL
  • http://ip:9207/bytezoomapi/v2/phone/:phoneId/vae?index=*&token=xxxxx

请求方式
  • GET

参数

参数名

必选

类型

默认值

说明

token

string

授权token


phoneId

string

云手机ID


index

string

"0"

分身编号

说明:当index缺省或者index值为'*'时,表示查询指定云手机所有虚拟分身信息。

请求示例
    #  python实现
    import requests
    url = 'http://localhost:9207/bytezoomapi/v2/phone/phone001/vae?index=*&token=axbxilljfsjlkl'
    res = requests.get(url)
返回示例
  {
    "code": 0,
    "errmsg":"success",
    "result": {
        "phone":"phone001",
        "vae":[{
            "index": "0",
            "androidId":"319C158963C08B3A",
            "imei":"867778039615243",
            "manufacture": "HUAWEI",
            "brand": "HUAWEI",
            "model": "BLA-AL00",
            "mac": "8f:0c:3a:06:8b:b2",
        }]
    }
  }
返回参数说明

参数名

类型

说明

androidId

string

安卓ID

mac

string

mac地址

manufacture

string

厂商

生成云手机虚拟分身信息

  • 生成新的云手机虚拟分身信息

请求URL
  • http://ip:9207/bytezoomapi/v2/phone/:phoneId/create?token=xxxxx

请求方式
  • POST

参数

参数名

必选

类型

默认值

说明

token

string

授权token


phoneId

string

云手机ID


index

string

分身编号


brand

string

"*"

手机品牌 :vivo, HUAWEI,honor, oppo ,xiaomi,meizu,OnePlus,samsung

sdk

string

"28"

安卓版本: 29: 安卓10,28:安卓9, 27:安卓8.1

说明:当index值为'*'时,表示对所有分身生成新的虚拟信息。

请求示例
    #  python实现
    import requests
    url = 'http://localhost:9207/bytezoomapi/v2/phone/phone001/create?token=axbxilljfsjlkl'
    datas = {"index":"1", "brand":"vivo"}
    res = requests.post(url, data=datas)
返回示例
  {
    "code": 0,
    "errmsg":"success"
  }

获取云手机位置信息

  • 云手机位置信息(GPS)

请求URL
  • http://ip:9207/bytezoomapi/v2/phone/:phoneId/location?index=1&token=xxxxx

请求方式
  • GET

参数

参数名

必选

类型

默认值

说明

token

string

授权token


phoneId

string

云手机ID


index

string

"0"

分身编号

说明:当index值为'*'时,表示查询指定云手机所有虚拟分身位置信息。

请求示例
    #  python实现
    import requests
    url = 'http://localhost:9207/bytezoomapi/v2/phone/phone001/location?index=1&token=axbxilljfsjlkl'
    res = requests.get(url)
返回示例
  {
    "code": 0,
    "errmsg":"success",
    "result": {
        "phone":"phone001",
        "location":[{
            "index": "0",
            "latitude": "30.242514",
            "longitude": "120.14042",
        }]
    }
  }
返回参数说明

参数名

类型

说明

androidId

string

安卓ID

latitude

string

纬度

longitude

string

经度

设置云手机虚拟分身位置信息

  • 生成新的云手机虚拟分身信息

请求URL
  • http://ip:9207/bytezoomapi/v2/phone/:phoneId/location?token=xxxxx

请求方式
  • POST

参数

参数名

必选

类型

默认值

说明

token

string

授权token


phoneId

string

云手机ID


index

string

分身编号


latitude

string

纬度,保留六位小数


longitude

string

经度,保留六位小数


说明:当index值为'*'时,表示对所有分身生设置同一位置信息。

请求示例
    #  python实现
    import requests
    url = 'http://localhost:9207/bytezoomapi/v2/phone/phone001/location?token=axbxilljfsjlkl'
    datas = {"index":"1", "latitude":"12.564514", "longitude":"105.458569"}
    res = requests.post(url, data=datas)
返回示例
  {
    "code": 0,
    "errmsg":"success"
  }

3、应用操作接口

获取云手机应用信息

  • 调用该接口,可以获取云手机上安装的所有应用信息

请求URL
  • http://ip:9207/bytezoomapi/v2/app/:phoneId/info?token=xxxxx

请求方式
  • GET

参数

参数名

必选

类型

默认值

说明

token

string

授权token


phoneId

string

云手机ID


请求示例
    #  python实现
    import requests
    url = 'http://localhost:9207/bytezoomapi/v2/app/phone123/info?token=axbxilljfsjlkl'
    res = requests.get(url)
返回示例
  {
    "code": 0,
    "errmsg":"success",
    "result": {
        "app":[{
                    "id":"com.sina.weibo",
                    "name":"微博",
                    "version":"8.5.10",
                    "phone":"phone001"
                },{
                    "id":"com.smile.gifmaker",
                    "name":"{KS}",
                    "version":"9.5.10",
                    "phone":"phone001"
        }]
    }
  }
返回参数说明

参数名

类型

说明

id

string

应用包名

name

string

应用名称

version

string

应用版本

获取云手机应用状态

  • 调用该接口,可以获取云手机上指定应用的运行状态

请求URL
  • http://ip:9207/bytezoomapi/v2/app/:phoneId/state?token=xxxxx&app=xxxx

请求方式
  • GET

参数

参数名

必选

类型

默认值

说明

token

string

授权token


phoneId

string

云手机ID


app

string

应用包名


说明:当app为*,或者缺省时,表示获取所有应用的状态

请求示例
    #  python实现
    import requests
    url = 'http://localhost:9207/bytezoomapi/v2/app/phone123/state?token=axbxilljfsjlkl&app=com.sina.weibo'
    res = requests.get(url)
返回示例
  {
    "code": 0,
    "errmsg":"success",
    "result": {
        "phone":"phone001",
        "app":[{
            "id":"com.sina.weibo",
            "state":[{
                "index": 0,
                "state": "running"        // 在后台运行
            },{
                "index": 1,
                "state": "stopped"        // 未运行
            },{
                "index": 2,
                "state": "foreground"   // 在前台运行
            }],
        }]
    }
  }
返回参数说明

参数名

类型

说明

id

string

应用包名

state

string

应用的运行状态:running:后台运行;stopped:未运行;foreground:前台运行

云手机应用安装

  • 调用该接口,可以对指定云手机安装指定的应用

请求URL
  • http://ip:9207/bytezoomapi/v2/app/:phoneId/install?token=xxxxx

请求方式
  • POST

参数

参数名

必选

类型

默认值

说明

token

string

授权token


phoneId

string

云手机ID


url

string

apk的下载url地址


md5

string

apk大小的md5值


说明:当phoneId为"*"时,表示对所有在线手机安装该应用。

请求示例
    #  python实现
    import requests
    url = 'http://localhost:9207/bytezoomapi/v2/app/phone001/install?token=axbxilljfsjlkl'
    data = {"url":"http://192.168.0.15/download/ks.apk", md5:"45jksj3423lldkf454"}
    res = requests.post(url, data=datas)
返回示例
  {
    "code": 0,
    "errmsg":"success"
  }

云手机应用卸载

  • 调用该接口,可以对指定云手机卸载指定的应用

请求URL
  • http://ip:9207/bytezoomapi/v2/app/:phoneId/uninstall?token=xxxxx

请求方式
  • POST

参数

参数名

必选

类型

默认值

说明

token

string

授权token


phoneId

string

云手机ID


app

string

应用包名


说明:当phoneId为"*"时,表示对所有在线手机卸载该应用。

请求示例
    #  python实现
    import requests
    url = 'http://localhost:9207/bytezoomapi/v2/app/phone001/uninstall?token=axbxilljfsjlkl'
    datas = {"app":"com.sina.weibo"}
    res = requests.post(url, data=datas)
返回示例
  {
    "code": 0,
    "errmsg":"success"
  }

设置云手机应用白名单

  • 调用该接口后,调用清理手机应用时,白名单内的应用不会被清除。

请求URL
  • http://ip:9207/bytezoomapi/v2/app/:phoneId/whiteList?token=xxxxx

请求方式
  • POST

参数

参数名

必选

类型

默认值

说明

token

string

授权token


phoneId

string

云手机ID


list

array

白名单包名


说明:当phoneId为"*"时,表示对所有在线手机执行该操作。

请求示例
    #  python实现
    import requests
    url = 'http://localhost:9207/bytezoomapi/v2/phone/phone001/cleanSdcard?token=axbxilljfsjlkl'
    datas = {"list":["com.sina.weibo","com.tencent.mm"]}
    res = requests.post(url, data=datas)
返回示例
  {
    "code": 0,
    "errmsg":"success"
  }

清除云手机已安装应用

  • 调用该接口,可以清除除白名单外,所有已安装的应用以及应用数据。

请求URL
  • http://ip:9207/bytezoomapi/v2/app/:phoneId/clear?token=xxxxx

请求方式
  • POST

参数

参数名

必选

类型

默认值

说明

token

string

授权token


phoneId

string

云手机ID



说明:1、当phoneId为"*"时,表示对所有在线手机执行该操作。
请求示例
    #  python实现
    import requests
    url = 'http://localhost:9207/bytezoomapi/v2/app/phone001/clear?token=axbxilljfsjlkl'
    datas = {}
    res = requests.post(url, data=datas)
返回示例
  {
    "code": 0,
    "errmsg":"success"
  }

清理云手机应用数据

  • 调用该接口,可以对指定的应用进行数据清理。

请求URL
  • http://ip:9207/bytezoomapi/v2/app/:phoneId/cleanData?token=xxxxx

请求方式
  • POST

参数

参数名

必选

类型

默认值

说明

token

string

授权token


phoneId

string

云手机ID


index

string

分身序号


app

string

app包名



说明:1、当phoneId为"*"时,表示对所有在线手机执行该操作。
请求示例
    #  python实现
    import requests
    url = 'http://localhost:9207/bytezoomapi/v2/app/phone001/clean?token=axbxilljfsjlkl'
    datas = {"app":"com.tencent.mm", "index":"1"}
    res = requests.post(url, data=datas)
返回示例
  {
    "code": 0,
    "errmsg":"success"
  }

启动云手机应用

  • 调用该接口,可以启动云手机指定的应用。

请求URL
  • http://ip:9207/bytezoomapi/v2/app/:phoneId/launch?token=xxxxx

请求方式
  • POST

参数

参数名

必选

类型

默认值

说明

token

string

授权token


phoneId

string

云手机ID


app

string

应用包名


index

string

分身编号



说明:1、当index值为'*'时,表示启动所有分身生的该应用。
    2、当phoneId为"*"时,表示对所有在线手机执行该操作。
请求示例
    #  python实现
    import requests
    url = 'http://localhost:9207/bytezoomapi/v2/app/phone001/launch?token=axbxilljfsjlkl'
    datas = {"index":"1", "app":"com.sina.weibo"}
    res = requests.post(url, data=datas)
返回示例
  {
    "code": 0,
    "errmsg":"success"
  }

停止云手机应用

  • 调用该接口,可以停止云手机指定的应用。

请求URL
  • http://ip:9207/bytezoomapi/v2/app/:phoneId/kill?token=xxxxx

请求方式
  • POST

参数

参数名

必选

类型

默认值

说明

token

string

授权token


phoneId

string

云手机ID


app

string

应用包名


index

string

分身编号



说明:1、当index值为'*'时,表示停止所有分身生的该应用。
    2、当phoneId为"*"时,表示对所有在线手机执行该操作。
请求示例
    #  python实现
    import requests
    url = 'http://localhost:9207/bytezoomapi/v2/app/phone001/kill?token=axbxilljfsjlkl'
    datas = {"index":"1", "app":"com.sina.weibo"}
    res = requests.post(url, data=datas)
返回示例
  {
    "code": 0,
    "errmsg":"success"
  }

云手机开启应用ROOT权限

  • 调用该接口,可以对指定应用开启root权限。

请求URL
  • http://ip:9207/bytezoomapi/v2/app/:phoneId/root?token=xxxxx

请求方式
  • POST

参数

参数名

必选

类型

默认值

说明

token

string

授权token


phoneId

string

云手机ID


app

string

应用包名



说明:当phoneId为"*"时,表示对所有在线手机执行该操作。
请求示例
    #  python实现
    import requests
    url = 'http://localhost:9207/bytezoomapi/v2/app/phone001/root?token=axbxilljfsjlkl'
    datas = {"app":"com.sina.weibo"}
    res = requests.post(url, data=datas)
返回示例
  {
    "code": 0,
    "errmsg":"success"
  }

云手机关闭应用ROOT权限

  • 调用该接口,可以对关闭指定应用的root权限。

请求URL
  • http://ip:9207/bytezoomapi/v2/app/:phoneId/unroot?token=xxxxx

请求方式
  • POST

参数

参数名

必选

类型

默认值

说明

token

string

授权token


phoneId

string

云手机ID


app

string

应用包名



说明:1、当phoneId为"*"时,表示对所有在线手机执行该操作。
     2、当app缺省或者为“*”时,表示关闭所有应用的root权限。
请求示例
    #  python实现
    import requests
    url = 'http://localhost:9207/bytezoomapi/v2/app/phone001/unroot?token=axbxilljfsjlkl'
    datas = {"app":"com.sina.weibo"}
    res = requests.post(url, data=datas)
返回示例
  {
    "code": 0,
    "errmsg":"success"
  }

4、界面操作接口

获取云手机xml布局

  • 获取云手机xml布局,可用于应用脚本分析。

请求URL
  • http://ip:9207/bytezoomapi/v2/screen/:phoneId/xml?token=xxxxx

请求方式
  • GET

参数

参数名

必选

类型

默认值

说明

token

string

授权token


phoneId

string

云手机ID


请求示例
    #  python实现
    import requests
    url = 'http://localhost:9207/bytezoomapi/v2/screen/phone001/xml?token=axbxilljfsjlkl'
    res = requests.get(url)
返回示例
  {
    "code": 0,
    "errmsg":"success",
    "result": {
        "xml":"xml str"
    }
  }
返回参数说明

参数名

类型

说明

xml

string

UI布局xml

屏幕按键操作

  • 调用该接口,可以对云手机输入标准的安卓按键操作。

请求URL
  • http://ip:9207/bytezoomapi/v2/screen/:phoneId/keyboard?token=xxxxx

请求方式
  • POST

参数

参数名

必选

类型

默认值

说明

token

string

授权token


phoneId

string

云手机ID


code

int

标准安卓按键编码


请求示例
    #  python实现
    import requests
    url = 'http://localhost:9207/bytezoomapi/v2/screen/phone001/keyboard?token=axbxilljfsjlkl'
    datas = {"code": 3}
    res = requests.post(url, data=datas)
 
  说明:3表示HOME按键
返回示例
  {
    "code": 0,
    "errmsg":"success"
  }

屏幕点击操作

  • 调用该接口,可以对云手机进行点击操作

请求URL
  • http://ip:9207/bytezoomapi/v2/screen/:phoneId/click?token=xxxxx

请求方式
  • POST

参数

参数名

必选

类型

默认值

说明

token

string

授权token


phoneId

string

云手机ID


width

int

屏幕宽坐标


height

int

屏幕高坐标


type

string

single

点击类型:single:单击;double:双击;long:长按

fixed

bool

false

屏幕坐标:屏幕分辨率为378*704

请求示例
    #  python实现
    import requests
    url = 'http://localhost:9207/bytezoomapi/v2/screen/phone001/click?token=axbxilljfsjlkl'
    data = {"width":300, "height":500, "type":"double"}
    res = requests.post(url, data=datas)
返回示例
  {
    "code": 0,
    "errmsg":"success"
  }

屏幕滚动操作

  • 该操作可对支持滚轮操作的区域,进行滚动操作。

请求URL
  • http://ip:9207/bytezoomapi/v2/screen/:phoneId/scroll?token=xxxxx

请求方式
  • POST

参数

参数名

必选

类型

默认值

说明

token

string

授权token


phoneId

string

云手机ID


width

int

屏幕宽坐标


height

int

屏幕高坐标


direction

string

up

滚动方向:left:向左;right:向右;up:向上;down:向下

repeat

int

1

滚动次数

interval

int

20

每次滚动间隔时间:毫秒

fixed

bool

false

屏幕坐标:屏幕分辨率为378*704

请求示例
    #  python实现
    import requests
    url = 'http://localhost:9207/bytezoomapi/v2/screen/phone001/scroll?token=axbxilljfsjlkl'
    datas = {"width":300, "height":500, "direction":"down"}
    res = requests.post(url, data=datas)
返回示例
  {
    "code": 0,
    "errmsg":"success"
  }

屏幕触摸操作

  • 该操作可以对云手机完成触摸屏操作

请求URL
  • http://ip:9207/bytezoomapi/v2/screen/:phoneId/touch?token=xxxxx

请求方式
  • POST

参数

参数名

必选

类型

默认值

说明

token

string

授权token


phoneId

string

云手机ID


width

int

屏幕宽坐标


height

int

屏幕高坐标


action

string

down:压下;up:松开;move:滑动


fixed

bool

false

屏幕坐标:屏幕分辨率为378*704

请求示例
    #  python实现
    import requests
    url = 'http://localhost:9207/bytezoomapi/v2/screen/phone001/touch?token=axbxilljfsjlkl'
    datas = {"width":300, "height":500, "action":"down"}
    res = requests.post(url, data=datas)
返回示例
  {
    "code": 0,
    "errmsg":"success"
  }

屏幕滑动操作

  • 调用该接口,完成对云手机一次滑动操作。

请求URL
  • http://ip:9207/bytezoomapi/v2/screen/:phoneId/swipe?token=xxxxx

请求方式
  • POST

参数

参数名

必选

类型

默认值

说明

token

string

授权token


phoneId

string

云手机ID


left

int

滑动开始的宽坐标


top

int

滑动开始的高坐标


right

int

滑动结束的宽坐标


bottom

int

滑动结束的高坐标


duration

int

200

滑动持续时间:毫秒

fixed

bool

false

屏幕坐标:屏幕分辨率为378*704

请求示例
    #  python实现
    import requests
    url = 'http://localhost:9207/bytezoomapi/v2/screen/phone001/swipe?token=axbxilljfsjlkl'
    datas = {"left":300, "top":500, "right":350, "bottom":1000, "duration":300}
    res = requests.post(url, data=datas)
返回示例
 {
    "code": 0,
    "errmsg":"success"
  }

屏幕输入文本操作

  • 调用该接口,可以对云手机编辑框输入文本信息。

请求URL
  • http://ip:9207/bytezoomapi/v2/screen/:phoneId/input?token=xxxxx

请求方式
  • POST

参数

参数名

必选

类型

默认值

说明

token

string

授权token


phoneId

string

云手机ID


width

int

输入框 x轴坐标


height

int

输入框 y轴坐标


content

string

待输入的内容


fixed

bool

false

屏幕坐标:屏幕分辨率为378*704

请求示例
    #  python实现
    import requests
    url = 'http://localhost:9207/bytezoomapi/v2/screen/phone001/input?token=axbxilljfsjlkl'
    data = {"content":"hello", "width":300, "height": 500}
    res = requests.post(url, data=datas)
返回示例
  {
    "code": 0,
    "errmsg":"success"
  }