/osc/commands/execute
API, belirtilen komutları kamerada yürütür. Çıkış bir komut nesnesidir.
Ad |
Tür |
Açıklama |
name |
Dize |
Yürütülecek komut. |
parameters |
Nesne |
Komut tanımları spesifikasyonuna uygun komut giriş parametreleri. Örnekler için lütfen OSC API Spesifikasyonunu inceleyin. |
Çıkış
Ad |
Tür |
Açıklama |
name |
Dize |
Yürütülecek komut. |
state |
Dize |
Komutun durumu. Aşağıdakilerden biri olmalıdır:
done - Tamamlandı. Bu yanıtta sonuçlar döndürüldü.
inProgress : Yürütme işlemi hâlâ devam ediyor.
error - İşlem başarısız oldu. Yanıtta hataya bakın.
|
id |
Dize (isteğe bağlı) |
Komut kimliği. Bu değer,
inProgress durumunu döndüren komutlar için gereklidir. Örneğin, camera.takePicture komutu birleştirme ihtiyacı nedeniyle birkaç saniye sürer. Daha ayrıntılı bilgi için "Durum" bölümüne bakın. |
results |
Nesne (isteğe bağlı) |
Komut sonuçları. Bu değer, komutun sonuç döndürmesi bekleniyorsa
done durumunu döndüren komutlar için gereklidir. Örneğin,
"results" : {
"AAA": "BBB"
...
}
Örnekler için lütfen OSC API Spesifikasyonu'na bakın. |
error |
Nesne (isteğe bağlı) |
Komut hatası açıklaması. Bu değer, error; durumunu döndüren komutlar için gereklidir. Örneğin,“error”: {
“code”: “missingParameter”
} |
progress |
Nesne (isteğe bağlı) |
Komut ilerleme durumu açıklaması. Bu değer, inProgress durumunu döndüren komutlar için gereklidir. Örneğin,
“progress”: {
“completion”: 0.8
} |
Hata
Hata kodu |
Açıklama |
unknownCommand |
İstenen komut bilinmiyor. Örneğin, bir v2 istemcisi (clientVersion 2'ye ayarlıysa, Seçenekler'e bakın) API düzeyi 1'den kullanımdan kaldırılmış bir komut isteniyorsa istek bu hata koduyla başarısız olur. |
disabledCommand |
Yürütülen komut şu anda devre dışı. Örneğin, kamera video modundayken "takeImage" komutu devre dışı bırakılır, kamera delayProcessing'i desteklemediğinde "ProcessResim" komutu devre dışı bırakılır. Bu hata kodu, API düzeyi 2'de eklenmiştir. |
cameraInExclusiveUse |
Kamera zaten özel kullanımda, yeni oturum başlatılamıyor. Bu hata kodu, API düzeyi 2'de kullanımdan kaldırılmıştır. |
missingParameter |
Gerekli parametrelerden biri veya daha fazlası belirtilmedi. |
invalidParameterName |
Bir veya daha fazla giriş parametresi veya seçenek adı tanınmıyor ya da desteklenmiyor. |
invalidParameterValue |
Parametre veya seçenek adları tanındı, ancak bir veya daha fazla değer geçersiz (örneğin, değer aralık dışında). |
Örnek |
İstek (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
}
}
} |
İstek (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
}
}
} |
Yanıt |
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"
} |
İstek (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"
}
} |
İstek (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"
} |
Yanıt |
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
}
} |