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 |
String |
El comando que se ejecutará. |
parameters |
Objeto |
Parámetros de entrada del comando según la especificación de definiciones del comando. Consulta la Especificación de la API de OSC para ver ejemplos. |
Salida
Nombre |
Tipo |
Descripción |
name |
String |
El comando que se ejecutará. |
state |
String |
Estado del comando. Debe ser una de las siguientes opciones:
done : Completo. Se mostraron resultados en esta respuesta.
inProgress : La ejecución aún está en curso.
error : falló; 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 unirse. Consulta la sección “Estado” para obtener más información. |
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 del 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 v2 (clientVersion está configurado como 2; consulta Opciones) solicita un comando obsoleto desde el nivel de API 1, la solicitud debería fallar y mostrar este código de error. |
disabledCommand |
El comando ejecutado está inhabilitado en este momento, p.ej., El comando “takePicture” se inhabilita cuando
La cámara está en el modo de video y el comando processPicture se inhabilita cuando la cámara no admite demoraProcessing. Este código de error se agregó en el nivel de API 2. |
cameraInExclusiveUse |
La cámara ya está en uso exclusivo; no se puede iniciar una nueva sesión. 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 opción. |
invalidParameterValue |
Se reconocieron los nombres de parámetros o opciones, pero uno o más valores no son válidos. por ejemplo, el valor está fuera del 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
}
} |