Execute

/osc/commands/execute API は、指定されたコマンドをカメラで実行します。 出力はコマンド オブジェクトです。

入力

名前 説明
name 文字列 実行するコマンド。
parameters オブジェクト コマンド定義仕様に応じたコマンド入力パラメータ。 例については、OSC API 仕様をご覧ください。

出力

名前 説明
name 文字列 実行するコマンド。
state 文字列 コマンドの状態。 次のいずれかである必要があります。
  • done - 完了。このレスポンスで結果が返されています。
  • inProgress - まだ実行中です。
  • error - 失敗。レスポンスでエラーを確認してください。
id 文字列(任意) コマンド ID。 この値は、ステータス inProgress を返すコマンドで必要です。 たとえば、camera.takePicture コマンドの実行には、スティッチングが必要なため、数秒間かかります。 詳細については、「ステータス」セクションをご覧ください。
results オブジェクト(任意) コマンドの結果。 この値は、コマンドが結果を返すことが予期される場合に、状態 done を返すコマンドで必要です。例: “results” : { “AAA”: “BBB”, ... } 例については、OSC API 仕様をご覧ください。
error オブジェクト(任意) コマンドのエラーの説明。 この値は、状態 error; を返すコマンドで必要です。次に例を示します。
“error”: {
  “code”: “missingParameter”
}
progress オブジェクト(任意) コマンドの進行の説明。 この値は、状態 inProgress を返すコマンドで必要です。次に例を示します。
“progress”: {
  “completion”: 0.8
}

エラー

エラーコード 説明
unknownCommand リクエストされたコマンドが不明です。 たとえば、v2 クライアント(clientVersion が 2 に設定されているクライアント。オプションをご覧ください)が API レベル 1 から廃止されたコマンドをリクエストすると、リクエストが失敗し、このエラーコードが表示されます。
disabledCommand 実行されたコマンドは現在無効です。 たとえば、カメラがビデオモードの場合は `takePicture` が無効になり、カメラが delayProcessing をサポートしない場合は processPicture コマンドが無効になります。 このエラーコードは API レベル 2 で追加されました。
cameraInExclusiveUse カメラは既に排他的に使用されており、新しいセッションを開始できません。 このエラーコードは API レベル 2 で廃止されました。
missingParameter 1 つ以上の必須パラメータが指定されていません。
invalidParameterName 1 つ以上の入力パラメータまたはオプション名が認識できないか、サポートされていません。
invalidParameterValue パラメータまたはオプション名が認識されましたが、1 つ以上の値が無効です。たとえば、値が範囲外です。

リクエスト(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
        }
    }
}
リクエスト(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
        }
    }
}
レスポンス
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"
}
リクエスト(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"
    }
}
リクエスト(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"
}
レスポンス
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
    }
}