تنفِّذ واجهة برمجة التطبيقات /osc/commands/execute
أوامر محدّدة على الكاميرا. الناتج هو كائن أمر.
الاسم |
النوع |
الوصف |
name |
سلسلة |
الأمر الذي سيتم تنفيذه. |
parameters |
الكائن |
معلمات إدخال الأمر وفقًا لمواصفات تعريفات الأوامر. للاطّلاع على أمثلة، يُرجى الرجوع إلى مواصفات واجهة برمجة التطبيقات OSC. |
الناتج
الاسم |
النوع |
الوصف |
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 |
الأمر المطلوب غير معروف، مثل: إذا طلب عميل الإصدار 2 (تم ضبط 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
}
} |