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