実行

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

入力

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

出力

名前 型 説明
name 文字列 実行されるコマンド。
state 文字列 コマンドの状態。次のいずれかにする必要があります。 <ph type="x-smartling-placeholder">
    </ph>
  • 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
    }
}