La API /osc/commands/execute
ejecuta comandos especificados en la cámara. El resultado es un objeto de comando.
Entrada
Nombre |
Tipo |
Descripción |
nombre |
Cadena |
El comando que se ejecutará. |
parámetros |
Objeto |
Parámetros de entrada del comando conforme a la especificación de definiciones de comandos. Consulta Especificación de la API de OSC para obtener ejemplos. |
Salida
Nombre |
Tipo |
Descripción |
nombre |
Cadena |
El comando que se ejecutará. |
estado |
Cadena |
Estado del comando. Debe ser uno de los siguientes:
done : Completo; se devolvieron 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 devuelven el estado inProgress. Por ejemplo, el comando camera.takePicture demora algunos segundos ya que es necesario realizar una unión. Para obtener información detallada, consulta la sección “Estado”. |
resultados |
Objeto (opcional) |
Resultados de comando. Este valor es obligatorio para comandos que muestran el estado done, si se prevé que el comando muestre resultados; por ejemplo,
“results” : {
“AAA”: “BBB”,
...
}
Consulta Especificación de la API de OSC para obtener ejemplos. |
error |
Objeto (opcional) |
Descripción del error de comando. Este valor es obligatorio para los comandos que devuelven 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 devuelven 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 (la clientVersion se fija en 2; consulta Opciones) solicita un comando que ya no esté disponible en el nivel de API 1, la solicitud fallará y se generará este código de error. |
disabledCommand |
El comando ejecutado se encuentra actualmente inhabilitado; p. ej., el comando `takePicture` se inhabilita cuando
la cámara se encuentra en el modo de video y el comando processPicture se inhabilita cuando la cámara no es compatible con delayProcessing. Este código de error se agregó en el nivel de API 2. |
cameraInExclusiveUse |
La cámara ya se encuentra en modo de uso exclusivo; no es posible iniciar una sesión nueva. Este código de error dejó de estar disponible en el nivel de API 2. |
missingParameter |
No se especificó uno o más parámetros obligatorios. |
invalidParameterName |
No se reconoce o no se admite uno o más parámetros de entrada o nombres de opción. |
invalidParameterValue |
Se reconocieron el parámetro o los nombres de opción, 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
}
} |