Ausführen

Die /osc/commands/execute API führt die angegebenen Befehle auf der Kamera aus. Die Ausgabe ist ein Befehlsobjekt.

Eingabe

Name Typ Beschreibung
name String Der auszuführende Befehl.
parameters Object Befehlseingabeparameter entsprechend der Spezifikation der Befehlsdefinitionen. Beispiele finden Sie in der OSC API-Spezifikation.

Ausgabe

Name Typ Beschreibung
name String Der auszuführende Befehl.
state String Status des Befehls. Dies sollte einer der folgenden Werte sein: <ph type="x-smartling-placeholder">
    </ph>
  • done: Abgeschlossen. In dieser Antwort wurden die Ergebnisse zurückgegeben.
  • inProgress: Die Ausführung wird noch ausgeführt.
  • error – Fehlgeschlagen. Siehe Fehler in der Antwort.
id String (optional) Befehls-ID. Dieser Wert ist für Befehle erforderlich, die den Status inProgress zurückgeben. Der Befehl camera.takePicture dauert beispielsweise einige Sekunden, da Stitching erforderlich ist. Weitere Informationen finden Sie im Abschnitt „Status“.
results Objekt (optional) Befehlsergebnisse. Dieser Wert ist für Befehle erforderlich, die den Status done zurückgeben, wenn erwartet wird, dass der Befehl Ergebnisse zurückgibt. zum Beispiel “results” : { „AAA“: „BBB“, ... } Beispiele finden Sie in der OSC API-Spezifikation.
error Objekt (optional) Beschreibung des Befehlsfehlers. Dieser Wert ist für Befehle erforderlich, die beispielsweise den Status error; zurückgeben:
“error”: {
  “code”: “missingParameter”
}
progress Objekt (optional) Beschreibung des Befehlsfortschritts. Dieser Wert ist für Befehle erforderlich, die den Status inProgress zurückgeben. zum Beispiel
“progress”: {
  “completion”: 0.8
}

Fehler

Fehlercode Beschreibung
unknownCommand Der angeforderte Befehl ist unbekannt, z.B. Wenn ein Client der Version 2 (clientVersion ist auf 2 festgelegt, siehe Optionen) einen veralteten Befehl von API-Ebene 1 anfordert, sollte die Anfrage mit diesem Fehlercode fehlschlagen.
disabledCommand Der ausgeführte Befehl ist derzeit deaktiviert, z.B. Der Befehl „takePicture“ ist deaktiviert, wenn im Videomodus ist, ist der Befehl „processPicture“ deaktiviert, wenn die Kamera keine Verzögerung bei der Verarbeitung unterstützt. Dieser Fehlercode wurde in API-Level 2 hinzugefügt.
cameraInExclusiveUse Die Kamera wird bereits exklusiv verwendet. Es kann keine neue Sitzung gestartet werden. Dieser Fehlercode wurde in API-Level 2 eingestellt.
missingParameter Mindestens ein erforderlicher Parameter wurde nicht angegeben.
invalidParameterName Mindestens ein Eingabeparameter oder ein Optionsname wurde nicht erkannt oder wird nicht unterstützt.
invalidParameterValue Die Parameter- oder Optionsnamen wurden erkannt, aber mindestens ein Wert ist ungültig. Beispiel: Der Wert liegt außerhalb des zulässigen Bereichs.

Beispiel

Anfrage (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
        }
    }
}
Anfrage (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
        }
    }
}
Antwort
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"
}
Anfrage (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"
    }
}
Anfrage (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"
}
Antwort
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
    }
}