API /osc/commands/execute
دستورات مشخص شده را روی دوربین اجرا می کند. خروجی یک شی فرمان است.
نام | تایپ کنید | توضیحات |
---|
name | رشته | دستوری که باید اجرا شود. |
parameters | شیء | پارامترهای ورودی فرمان را با توجه به مشخصات تعاریف فرمان. لطفاً برای مثال به مشخصات OSC API مراجعه کنید. |
خروجی
نام | تایپ کنید | توضیحات |
---|
name | رشته | دستوری که باید اجرا شود. |
state | رشته | وضعیت فرماندهی باید یکی از موارد زیر باشد:-
done - کامل، نتایج در این پاسخ برگردانده شده است. -
inProgress - اجرا هنوز در حال انجام است. -
error - ناموفق، خطا را در پاسخ ببینید.
|
id | رشته (اختیاری) | شناسه فرمان این مقدار برای دستورهایی که وضعیت را برمی گرداند لازم است در حال پیشرفت . برای مثال دستور camera.takePicture به دلیل نیاز به دوخت چند ثانیه طول می کشد. برای جزئیات بیشتر به بخش "وضعیت" مراجعه کنید. |
results | شی (اختیاری) | نتایج فرمان این مقدار برای دستورهایی که حالت را برمیگردانند لازم است در صورتی انجام می شود که انتظار می رود فرمان نتایج را برگرداند. برای مثال، "نتایج" : { "AAA": "BBB"، ... } لطفاً برای مثال به مشخصات OSC API مراجعه کنید. |
error | شی (اختیاری) | شرح خطای فرمان این مقدار برای دستورهایی که error; برای مثال،“error”: {
“code”: “missingParameter”
} |
progress | شی (اختیاری) | شرح پیشرفت فرمان این مقدار برای دستورهایی که حالت inProgress را برمیگردانند لازم است. برای مثال،“progress”: {
“completion”: 0.8
} |
خطا
کد خطا | توضیحات |
---|
unknownCommand | دستور درخواست شده ناشناخته است، به عنوان مثال اگر یک کلاینت v2 (clientVersion روی 2 تنظیم شده است، به گزینه ها مراجعه کنید) یک دستور منسوخ شده از سطح 1 API را درخواست کند، درخواست باید با این کد خطا شکست بخورد. |
disabledCommand | فرمان اجرا شده در حال حاضر غیرفعال است، به عنوان مثال دستور "takePicture" زمانی که دوربین در حالت ویدئو است غیرفعال است، دستور processPicture زمانی که دوربین از delayProcessing پشتیبانی نمی کند غیرفعال می شود. این کد خطا در سطح 2 API اضافه شده است. |
cameraInExclusiveUse | دوربین از قبل در حال استفاده انحصاری است، جلسه جدید را نمی توان شروع کرد. این کد خطا در سطح 2 API منسوخ شده است. |
missingParameter | یک یا چند پارامتر مورد نیاز مشخص نشده است. |
invalidParameterName | یک یا چند پارامتر ورودی یا نام گزینه شناسایی نشد یا پشتیبانی نشد. |
invalidParameterValue | نام پارامتر یا گزینه شناسایی شد، اما یک یا چند مقدار نامعتبر است. به عنوان مثال، مقدار خارج از محدوده است. |
مثال |
---|
درخواست (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
}
} |