/osc/commands/execute
API 在相机上执行指定的命令。 输出是一个命令对象。
输入
名称 |
类型 |
说明 |
name |
字符串 |
将执行的命令。 |
parameters |
对象 |
符合命令定义规范的命令输入参数。 请参阅 OSC API 规范中提供的示例。 |
输出
名称 |
类型 |
说明 |
name |
字符串 |
将执行的命令。 |
state |
字符串 |
命令的状态。 应为下列状态之一:
done - 完成,此响应已返回结果。
inProgress - 执行仍在处理中。
error - 出现故障,参见响应中的错误。
|
id |
字符串(可选) |
命令 ID。 返回状态 inProgress 的命令需要使用此值。 例如,camera.takePicture 命令需要几秒钟的时间进行拼接。 有关更多详情,请参阅“状态”部分。 |
results |
对象(可选) |
命令结果。 如果预计命令会返回结果,则返回状态 done 的命令需要使用此值。例如,
“results” : {
“AAA”:“BBB”,
...
}
请参阅 OSC API 规范中提供的示例。 |
error |
对象(可选) |
命令错误说明。 返回状态 error; 的命令需要使用此值,例如,
“error”: {
“code”: “missingParameter”
} |
progress |
对象(可选) |
命令进度说明。 返回 inProgress 的命令需要使用此值;例如,
“progress”: {
“completion”: 0.8
} |
错误
错误代码 |
说明 |
unknownCommand |
请求的命令未知,例如 如果 v2 客户端(clientVersion 设置为 2,请参阅选项)从 API 级别 1 请求一个已弃用的命令,则请求失败,并返回此错误代码。 |
disabledCommand |
执行的命令当前已停用,例如 `takePicture` 命令会在相机处于视频模式下时被停用,当相机不支持 delayProcessing 时停用 processPicture 命令。
此错误代码已添加到 API 级别 2 中。 |
cameraInExclusiveUse |
相机已独占使用,无法启动新的会话。 此错误代码在 API 级别 2 中已弃用。 |
missingParameter |
一个或多个所需参数未指定。 |
invalidParameterName |
一个或多个输入参数或选项名称未被识别或不受支持。 |
invalidParameterValue |
参数或选项名称已被识别,但是一个或多个值无效;例如,值超出范围。 |
示例 |
请求 (API 1) |
POST /osc/commands/execute HTTP/1.1
Host: [camera ip address]:[httpPort]
Content-Type: application/json;charset=utf-8
Accept: application/json
Content-Length: {CONTENT_LENGTH}
X-XSRF-Protected: 1
{
"name": "camera.setOptions",
"parameters": {
"sessionId": "12ABC3",
"options": {
"iso": 200,
"exposureCompensation": -2
}
}
} |
请求 (API 2) |
POST /osc/commands/execute HTTP/1.1
Host: [camera ip address]:[httpPort]
Content-Type: application/json;charset=utf-8
Accept: application/json
Content-Length: {CONTENT_LENGTH}
X-XSRF-Protected: 1
{
"name": "camera.setOptions",
"parameters": {
"options": {
"iso": 200,
"exposureCompensation": -2
}
}
} |
响应 |
HTTP/1.1 200 OK
Content-Type: application/json;charset=utf-8
Content-Length: {CONTENT_LENGTH}
X-Content-Type-Options: nosniff
{
"name": "camera.setOptions",
"state": "done"
} |
请求 (API 1) |
POST /osc/commands/execute HTTP/1.1
Host: [camera ip address]:[httpPort]
Content-Type: application/json;charset=utf-8
Accept: application/json
Content-Length: {CONTENT_LENGTH}
X-XSRF-Protected: 1
{
"name": "camera.takePicture",
"parameters": {
"sessionId": "12ABC3"
}
} |
请求 (API 2) |
POST /osc/commands/execute HTTP/1.1
Host: [camera ip address]:[httpPort]
Content-Type: application/json;charset=utf-8
Accept: application/json
Content-Length: {CONTENT_LENGTH}
X-XSRF-Protected: 1
{
"name": "camera.takePicture"
} |
响应 |
HTTP/1.1 200 OK
Content-Type: application/json;charset=utf-8
Content-Length: {CONTENT_LENGTH}
X-Content-Type-Options: nosniff
{
"name": "camera.takePicture",
"state": "inProgress",
"id": "90ABCD",
"progress": {
"completion": 0
}
} |