Esegui

L'API /osc/commands/execute esegue i comandi specificati sulla fotocamera. L'output è un oggetto comando.

Input

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
    }
}