एक्ज़ीक्यूट करें

/osc/commands/execute एपीआई, कैमरे पर तय किए गए निर्देशों को लागू करता है. आउटपुट एक कमांड ऑब्जेक्ट है.

इनपुट

नाम टाइप ब्यौरा
name स्ट्रिंग एक्ज़ीक्यूट किया जाने वाला निर्देश.
parameters ऑब्जेक्ट कमांड की डेफ़िनिशन के हिसाब से कमांड इनपुट पैरामीटर. कृपया उदाहरणों के लिए OSC API की खास बातें देखें.

आउटपुट

नाम टाइप ब्यौरा
name स्ट्रिंग एक्ज़ीक्यूट किया जाने वाला निर्देश.
state स्ट्रिंग निर्देश की स्थिति. इनमें से कोई एक होना चाहिए:
  • done - पूरा हुआ, इस जवाब में नतीजे दिख गए हैं.
  • inProgress - स्क्रिप्ट चलाने की प्रोसेस अब भी चल रही है.
  • error - कार्रवाई नहीं की जा सकी, जवाब में गड़बड़ी देखें.
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 पर सेट हो, तो Options देखें) जो एपीआई लेवल 1 से अब काम नहीं करने वाले निर्देश का अनुरोध करता है, तो अनुरोध इस गड़बड़ी कोड के साथ पूरा नहीं होना चाहिए.
disabledCommand फ़िलहाल, चलाया गया निर्देश बंद है, जैसे कि `takeपिक्चर` कमांड बंद होने पर, कैमरा, वीडियो मोड है. अगर कैमरा पिछले संसाधन को प्रोसेस करने में मदद नहीं करता है, तो यह निर्देश नहीं मिलता है. गड़बड़ी का यह कोड, एपीआई लेवल 2 में जोड़ा गया था.
cameraInExclusiveUse कैमरे का इस्तेमाल पहले से ही किया जा रहा है. इसलिए, नया सेशन शुरू नहीं किया जा सकता. गड़बड़ी के इस कोड को एपीआई लेवल 2 में बंद कर दिया गया था.
missingParameter एक या उससे ज़्यादा ज़रूरी पैरामीटर नहीं बनाए गए थे.
invalidParameterName एक या उससे ज़्यादा इनपुट पैरामीटर या विकल्प के नाम की पहचान नहीं की जा सकी या इस नाम का इस्तेमाल नहीं किया जा सकता.
invalidParameterValue पैरामीटर या विकल्प के नाम की पहचान हो गई थी, लेकिन एक या उससे ज़्यादा वैल्यू अमान्य हैं; उदाहरण के लिए, वैल्यू तय सीमा से बाहर है.

उदाहरण

अनुरोध (एपीआई 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
        }
    }
}
अनुरोध (एपीआई 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"
}
अनुरोध (एपीआई 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"
    }
}
अनुरोध (एपीआई 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
    }
}