La API de /osc/commands/execute
ejecuta comandos especificados en la cámara. El resultado es un objeto de comando.
Nombre |
Tipo |
Descripción |
name |
Cadena |
El comando que se ejecutará. |
parameters |
Objeto |
Parámetros de entrada del comando según la especificación de definiciones de comandos. Consulta la especificación de la API de OSC para ver ejemplos. |
Salida
Nombre |
Tipo |
Descripción |
name |
Cadena |
El comando que se ejecutará. |
state |
Cadena |
Estado del comando. Debe ser uno de los siguientes:
done : Completo; se proporcionaron resultados en esta respuesta.
inProgress : La ejecución aún está en curso.
error : Error; consulta el error en la respuesta.
|
id |
Cadena (opcional) |
ID de comando. Este valor es obligatorio para los comandos que muestran el estado
inProgress . Por ejemplo, el comando camera.takePicture tarda unos segundos debido a la necesidad de unir elementos. Consulta la sección “Estado” para obtener más detalles. |
results |
Objeto (opcional) |
Resultados del comando Este valor es obligatorio para los comandos que muestran el estado
done si se espera que el comando muestre resultados; por ejemplo, "results" : {
"AAA": "BBB", ...
}
Consulta la Especificación de la API de OSC para ver ejemplos. |
error |
Objeto (opcional) |
Descripción del error de comando. Este valor es obligatorio para los comandos que muestran el estado error; (por ejemplo,“error”: {
“code”: “missingParameter”
} ). |
progress |
Objeto (opcional) |
Descripción del progreso del comando. Este valor es obligatorio para los comandos que muestran el estado inProgress (por ejemplo,“progress”: {
“completion”: 0.8
} ). |
Error
Código de error |
Descripción |
unknownCommand |
Se desconoce el comando solicitado, p.ej., si un cliente de v2 (clientVersion se estableció en 2, consulta Opciones) solicita un comando obsoleto del nivel de API 1, la solicitud debería fallar con este código de error. |
disabledCommand |
El comando ejecutado está inhabilitado, p.ej., el comando "takePicture" está inhabilitado cuando
la cámara está en modo de video, el comando processPicture se inhabilita cuando la cámara no es compatible conDelayProcessing. Este código de error se agregó en el nivel de API 2. |
cameraInExclusiveUse |
La cámara ya es de uso exclusivo. No se puede iniciar una sesión nueva. Este código de error dejó de estar disponible en el nivel de API 2. |
missingParameter |
No se especificaron uno o más parámetros obligatorios. |
invalidParameterName |
No se reconocen o no se admiten uno o más parámetros de entrada o nombres de opciones. |
invalidParameterValue |
Se reconocieron los nombres de parámetros o de opciones, pero uno o más valores no son válidos; por ejemplo, el valor está fuera de rango. |
Ejemplo |
Solicitud (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
}
}
} |
Solicitud (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
}
}
} |
Respuesta |
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"
} |
Solicitud (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"
}
} |
Solicitud (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"
} |
Respuesta |
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
}
} |