Exécuter

L'API /osc/commands/execute exécute les commandes spécifiées sur l'appareil photo. Le résultat est un objet de commande.

Entrée

Nom Type Description
name Chaîne Commande à exécuter.
parameters Objet Paramètres d'entrée de la commande conformément à la spécification des définitions de commande. Veuillez consulter la spécification de l'API OSC pour obtenir des exemples.

Sortie

Nom Type Description
name Chaîne Commande à exécuter.
state Chaîne État de la commande. Doit correspondre à l'une des valeurs suivantes: <ph type="x-smartling-placeholder">
    </ph>
  • done - Terminé. Des résultats ont été renvoyés dans cette réponse.
  • inProgress : l'exécution est toujours en cours.
  • error : échec. Consultez l'erreur dans la réponse.
id Chaîne (facultatif) ID de commande. Cette valeur est obligatoire pour les commandes renvoyant l'état inProgress. Par exemple, la commande camera.takePicture prend quelques secondes en raison du besoin d'assemblage. Pour en savoir plus, consultez la section "État".
results Objet (facultatif) Résultats de la commande Cette valeur est obligatoire pour les commandes renvoyant l'état done si la commande est censée renvoyer des résultats. Exemple : “results” : { "AAA": "BBB", ... } Veuillez consulter la spécification de l'API OSC pour obtenir des exemples.
error Objet (facultatif) Description de l'erreur de commande. Cette valeur est obligatoire pour les commandes renvoyant l'état error;, par exemple :
“error”: {
  “code”: “missingParameter”
}
progress Objet (facultatif) Description de la progression de la commande. Cette valeur est obligatoire pour les commandes renvoyant l'état inProgress. Exemple :
“progress”: {
  “completion”: 0.8
}

Erreur

Code d'erreur Description
unknownCommand La commande demandée est inconnue. Exemple : Si un client v2 (clientVersion est défini sur 2, voir Options) demande une commande obsolète du niveau d'API 1, la requête doit échouer et renvoyer ce code d'erreur.
disabledCommand La commande exécutée est actuellement désactivée.Ex. : la commande "takePicture" est désactivée lorsque l'appareil photo est en mode vidéo, la commande processPicture est désactivée lorsque l'appareil photo ne prend pas en charge delayProcessing. Ce code d'erreur a été ajouté au niveau d'API 2.
cameraInExclusiveUse La caméra est déjà utilisée de manière exclusive. Il est impossible de démarrer une nouvelle session. Ce code d'erreur a été abandonné dans le niveau d'API 2.
missingParameter Un ou plusieurs paramètres obligatoires n'ont pas été spécifiés.
invalidParameterName Un ou plusieurs noms d'options ou de paramètres d'entrée n'étaient pas reconnus ou incompatibles.
invalidParameterValue Les noms des paramètres ou des options sont reconnus, mais une ou plusieurs valeurs ne sont pas valides. Par exemple, la valeur est hors plage.

Exemple

Requête (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
        }
    }
}
Requête (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
        }
    }
}
Réponse
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"
}
Requête (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"
    }
}
Requête (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"
}
Réponse
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
    }
}