Esegui

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

Input

Nome Tipo Descrizione
name Stringa Il comando da eseguire.
parameters Oggetto Parametri di input del comando in base alla specifica delle definizioni dei comandi. Per alcuni esempi, consulta la specifica API OSC.

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 i 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 perché è necessario 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 si prevede che il comando restituisca risultati. ad esempio “results” : { "AAA": "BBB", ... } Per alcuni esempi, consulta la specifica API OSC.
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 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 deprecato dal livello API 1, la richiesta dovrebbe avere esito negativo e restituire questo codice di errore.
disabledCommand Il comando eseguito è attualmente disabilitato, ad esempio Il comando "takePicture" è disabilitato quando fotocamera è in modalità video, il comando processPicture viene disabilitato quando la fotocamera non supporta il ritardo di elaborazione. Questo codice di errore è stato aggiunto nel livello API 2.
cameraInExclusiveUse La videocamera è già in uso esclusivo, non è possibile 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 Uno o più parametri di input o nomi di opzioni non sono riconosciuti o non sono supportati.
invalidParameterValue I nomi di parametri o opzioni sono stati riconosciuti, ma uno o più valori non sono validi. Ad esempio, il valore non rientra 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
    }
}