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

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

इनपुट

नाम Type ब्यौरा
name String लागू किया जाने वाला निर्देश.
parameters ऑब्जेक्ट कमांड परिभाषाएं स्पेसिफ़िकेशन के मुताबिक कमांड इनपुट पैरामीटर. उदाहरण देखने के लिए, कृपया ओएससी एपीआई की खास बातें देखें.

आउटपुट

नाम Type ब्यौरा
name String लागू किया जाने वाला निर्देश.
state String निर्देश की स्थिति. इनमें से कोई एक होना चाहिए:
  • done - पूरा हुआ, इस जवाब में नतीजे दिए गए हैं.
  • inProgress - कोड चलाने की प्रोसेस अब भी जारी है.
  • error - पूरा नहीं हुआ, जवाब में गड़बड़ी देखें.
id स्ट्रिंग (ज़रूरी नहीं) कमांड आईडी. यह वैल्यू, inProgress स्टेटस देने वाले कमांड के लिए ज़रूरी है. उदाहरण के लिए, स्टिचिंग की वजह से camera.takePicture कमांड में कुछ सेकंड लगते हैं. ज़्यादा जानकारी के लिए “स्थिति” सेक्शन देखें.
results ऑब्जेक्ट (ज़रूरी नहीं) कमांड के नतीजे. यह वैल्यू, कमांड की स्थिति done लौटाने के लिए ज़रूरी होती है. ऐसा तब होता है, जब निर्देश से नतीजे मिलने की उम्मीद हो. जैसे, “results” : { “AAA”: “BBB”, ... } उदाहरणों के लिए, कृपया OSC API Specification देखें.
error ऑब्जेक्ट (ज़रूरी नहीं) निर्देश में गड़बड़ी की जानकारी. यह वैल्यू, error; की स्थिति में दिखने वाले कमांड के लिए ज़रूरी है. उदाहरण के लिए,
“error”: {
  “code”: “missingParameter”
}
progress ऑब्जेक्ट (ज़रूरी नहीं) निर्देश की प्रोग्रेस का ब्यौरा. यह वैल्यू, inProgress की स्थिति दिखाने वाले कमांड के लिए ज़रूरी है. उदाहरण के लिए,
“progress”: {
  “completion”: 0.8
}

गड़बड़ी

गड़बड़ी का कोड ब्यौरा
unknownCommand अनुरोध किया गया निर्देश मालूम नहीं है, जैसे कि अगर कोई v2 क्लाइंट (clientVersion 2 पर सेट है, तो विकल्प देखें) एपीआई लेवल 1 से एक ऐसे निर्देश का अनुरोध करता है जो अब काम नहीं करता है, तो अनुरोध इस गड़बड़ी कोड के साथ पूरा नहीं होना चाहिए.
disabledCommand फ़िलहाल, एक्ज़ीक्यूट किया गया निर्देश बंद है.उदाहरण के लिए, जब कैमरा वीडियो मोड में होता है, तब `takepicture` कमांड बंद हो जाते हैं. जब कैमरा, देरी से प्रोसेस करने की सुविधा नहीं देता है, तो processPicture कमांड बंद हो जाता है. गड़बड़ी का यह कोड, एपीआई लेवल 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
    }
}