L'API /osc/commands/execute
esegue i comandi specificati sulla fotocamera. L'output è un oggetto comando.
Nome |
Tipo |
Descrizione |
name |
Stringa |
Il comando da eseguire. |
parameters |
Oggetto |
Parametri di input di comando in base alle specifiche delle definizioni di comando. Fai riferimento alle specifiche dell'API OSC per alcuni esempi. |
Output
Nome |
Tipo |
Descrizione |
name |
Stringa |
Il comando da eseguire. |
state |
Stringa |
Stato del comando. Deve essere uno dei seguenti:
done - Completato, in questa risposta sono stati restituiti risultati.
inProgress - L'esecuzione è ancora in corso.
error - Operazione non riuscita. Visualizza l'errore nella risposta.
|
id |
Stringa (facoltativa) |
ID comando. Questo valore è obbligatorio per i comandi che restituiscono lo stato
inProgress . Ad esempio, il comando camera.takePicture richiede alcuni secondi a causa della necessità di eseguire lo stitching. Per ulteriori dettagli, consulta la sezione "Stato". |
results |
Oggetto (facoltativo) |
Risultati del comando. Questo valore è obbligatorio per i comandi che restituiscono lo stato
done se dovrebbero restituire dei risultati; ad esempio,
"results" : {
"AAA": "BBB",
...
}
Fai riferimento alle specifiche API OSC per alcuni esempi. |
error |
Oggetto (facoltativo) |
Descrizione dell'errore del comando. Questo valore è obbligatorio per i comandi che restituiscono lo stato error; , ad esempio
“error”: {
“code”: “missingParameter”
} |
progress |
Oggetto (facoltativo) |
Descrizione dell'avanzamento del comando. Questo valore è obbligatorio per i comandi che restituiscono lo stato inProgress , ad esempio“progress”: {
“completion”: 0.8
} |
Errore
Codice di errore |
Descrizione |
unknownCommand |
Il comando richiesto è sconosciuto: ad esempio, se un client v2 (clientVersion è impostato su 2, vedi Opzioni) richiede un comando obsoleto dal livello API 1, la richiesta non dovrebbe andare a buon fine con questo codice di errore. |
disabledCommand |
Il comando eseguito è attualmente disattivato, ad esempio il comando "takePicture" è disabilitato quando la fotocamera è in modalità video, il comando processPicture è disabilitato quando la fotocamera non supporta ritardoProcess. Questo codice di errore è stato aggiunto al livello API 2. |
cameraInExclusiveUse |
La videocamera è già in uso esclusivo. Impossibile avviare una nuova sessione. Questo codice di errore è stato ritirato nel livello API 2. |
missingParameter |
Uno o più parametri obbligatori non sono stati specificati. |
invalidParameterName |
Il nome di uno o più parametri di input o opzione di input non è stato riconosciuto o non è supportato. |
invalidParameterValue |
I nomi del parametro o dell'opzione sono stati riconosciuti, ma uno o più valori non sono validi; ad esempio, il valore non è compreso nell'intervallo. |
Esempio |
Richiesta (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
}
}
} |
Richiesta (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
}
}
} |
Risposta |
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"
} |
Richiesta (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"
}
} |
Richiesta (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"
} |
Risposta |
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
}
} |