API /osc/commands/execute
thực thi các lệnh được chỉ định trên máy ảnh. Kết quả đầu ra là một đối tượng lệnh.
Tên |
Loại |
Mô tả |
name |
Chuỗi |
Lệnh được thực thi. |
parameters |
Đối tượng |
Các tham số đầu vào của lệnh theo thông số kỹ thuật của định nghĩa lệnh. Vui lòng tham khảo Quy cách API OSC để biết thêm ví dụ. |
Đầu ra
Tên |
Loại |
Mô tả |
name |
Chuỗi |
Lệnh được thực thi. |
state |
Chuỗi |
Trạng thái của lệnh. Phải là một trong những trạng thái sau:
done – Hoàn tất, kết quả đã được trả về trong phản hồi này.
inProgress – Vẫn đang thực thi.
error – Không thành công, hãy xem lỗi trong phản hồi.
|
id |
Chuỗi (không bắt buộc) |
Mã lệnh. Giá trị này là bắt buộc đối với các lệnh trả về trạng thái
inProgress . Ví dụ: lệnh camera.takePicture mất vài giây do cần ghép. Hãy xem phần "Trạng thái" để biết thêm thông tin chi tiết. |
results |
Đối tượng (không bắt buộc) |
Kết quả lệnh. Giá trị này là bắt buộc đối với các lệnh trả về trạng thái
done nếu lệnh dự kiến sẽ trả về kết quả; ví dụ:
“results” : {
“AAA”: “BBB”,
...
}
Vui lòng tham khảo Thông số kỹ thuật của API OSC để xem ví dụ. |
error |
Đối tượng (không bắt buộc) |
Mô tả lỗi lệnh. Đây là giá trị bắt buộc đối với các lệnh trả về trạng thái error; , ví dụ:“error”: {
“code”: “missingParameter”
} |
progress |
Đối tượng (không bắt buộc) |
Mô tả tiến trình lệnh. Giá trị này là bắt buộc đối với các lệnh trả về trạng thái inProgress ; ví dụ:“progress”: {
“completion”: 0.8
} |
Lỗi
Mã lỗi |
Nội dung mô tả |
unknownCommand |
Lệnh đã yêu cầu không xác định, ví dụ: nếu ứng dụng v2 (clientVersion được đặt thành 2, hãy xem Tuỳ chọn) yêu cầu một lệnh không dùng nữa từ API cấp 1, thì yêu cầu sẽ không thành công với mã lỗi này. |
disabledCommand |
Lệnh thực thi hiện đang tắt, ví dụ: lệnh "takePicture" bị tắt khi máy ảnh ở chế độ video, lệnh processPicture bị tắt khi máy ảnh không hỗ trợ tính năng chậm xử lý. Mã lỗi này đã được thêm vào API cấp 2. |
cameraInExclusiveUse |
Máy ảnh đang được sử dụng độc quyền, nên không thể bắt đầu phiên mới. Mã lỗi này không còn được dùng trong API cấp 2. |
missingParameter |
Một hoặc nhiều tham số bắt buộc chưa được chỉ định. |
invalidParameterName |
Một hoặc nhiều tên tuỳ chọn hoặc thông số đầu vào không nhận dạng được hoặc không được hỗ trợ. |
invalidParameterValue |
Tên thông số hoặc tùy chọn đã được nhận dạng, nhưng một hoặc nhiều giá trị không hợp lệ; ví dụ: giá trị nằm ngoài phạm vi. |
Ví dụ: |
Yêu cầu (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
}
}
} |
Yêu cầu (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
}
}
} |
Đáp |
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"
} |
Yêu cầu (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"
}
} |
Yêu cầu (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"
} |
Đáp |
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
}
} |