/osc/commands/execute
API จะเรียกใช้คำสั่งที่ระบุในกล้อง เอาต์พุตเป็นออบเจ็กต์คำสั่ง
ชื่อ |
ประเภท |
คำอธิบาย |
name |
สตริง |
คำสั่งที่จะดำเนินการ |
parameters |
ออบเจ็กต์ |
พารามิเตอร์อินพุตของคำสั่งตามข้อกำหนดการกำหนดคำสั่ง โปรดดูข้อกำหนดของ OSC API เพื่อดูตัวอย่าง |
เอาต์พุต
ชื่อ |
ประเภท |
คำอธิบาย |
name |
สตริง |
คำสั่งที่จะดำเนินการ |
state |
สตริง |
สถานะของคำสั่ง ควรเป็นข้อใดข้อหนึ่งต่อไปนี้
done - เสร็จสมบูรณ์ ระบบแสดงผลลัพธ์ในคำตอบนี้
inProgress - กำลังดำเนินการ
error - ไม่สำเร็จ โปรดดูข้อผิดพลาดในการตอบกลับ
|
id |
สตริง (ไม่บังคับ) |
รหัสคำสั่ง ค่านี้จำเป็นสำหรับคำสั่งที่ส่งคืนสถานะ
inProgress ตัวอย่างเช่น คำสั่ง camera.takePicture จะใช้เวลา 2-3 วินาทีเนื่องจากจำเป็นต้องต่อภาพ ดูรายละเอียดเพิ่มเติมได้ที่ส่วน "สถานะ" |
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" ถูกปิดใช้เมื่อ
กล้องอยู่ในโหมดวิดีโอ คำสั่ง processPicture จะถูกปิดใช้งานเมื่อกล้องไม่รองรับ DelayProcessing เพิ่มรหัสข้อผิดพลาดนี้ใน 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
}
} |