ดำเนินการ
/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 } }
เนื้อหาของหน้าเว็บนี้ได้รับอนุญาตภายใต้ใบอนุญาตที่ต้องระบุที่มาของครีเอทีฟคอมมอนส์ 4.0 และตัวอย่างโค้ดได้รับอนุญาตภายใต้ใบอนุญาต Apache 2.0 เว้นแต่จะระบุไว้เป็นอย่างอื่น โปรดดูรายละเอียดที่นโยบายเว็บไซต์ Google Developers Java เป็นเครื่องหมายการค้าจดทะเบียนของ Oracle และ/หรือบริษัทในเครือ
อัปเดตล่าสุด 2024-08-21 UTC
[null,null,["อัปเดตล่าสุด 2024-08-21 UTC"],[[["The `/osc/commands/execute` API allows you to execute commands on the camera, such as adjusting settings or taking pictures."],["Input requires the command `name` and any necessary `parameters` defined in the OSC API Specification."],["Output provides the command `name`, `state`, and may include an `id`, `results`, `error`, or `progress` depending on the command and its execution status."],["Possible command states include `done`, `inProgress`, and `error`, with further details provided in the output fields."],["Refer to the OSC API Specification for specific command definitions, parameters, and result formats."]]],["The `/osc/commands/execute` API triggers commands on a camera, defined by a command `name` and associated `parameters`. The output indicates the command's `state` (`done`, `inProgress`, or `error`), an optional `id` for `inProgress` commands, `results` for completed commands, or `error` details. Possible errors include `unknownCommand`, `disabledCommand`, `missingParameter`, and `invalidParameterValue`. Example requests demonstrate how to set options and take a picture, with the responses showing command completion or ongoing progress.\n"]]