/osc/commands/execute
API, kamerada belirtilen komutları yürütür. Çıkış, bir komut nesnesidir.
Ad |
Tür |
Açıklama |
name |
Dize |
Yürütülecek komut. |
parameters |
Nesne |
Komut giriş parametreleri, komut tanımları spesifikasyonuna göre. Örnekler için lütfen OSC API Spesifikasyonu'na bakın. |
Çıkış
Ad |
Tür |
Açıklama |
name |
Dize |
Yürütülecek komut. |
state |
Dize |
Komutun durumu. Şunlardan biri olmalıdır:
done - Tamamlandı, sonuçlar bu yanıtta döndürüldü.
inProgress - Yürütme işlemi devam ediyor.
error - Başarısız oldu, yanıttaki hatayı inceleyin.
|
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 komutunun kullanılması, birleştirme ihtiyacı nedeniyle birkaç saniye sürer. Daha fazla ayrıntı 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'nu inceleyin. |
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 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, ör. Bir v2 istemcisi (clientVersion 2'ye ayarlanırsa, Options'a bakın) API düzey 1'den kullanımdan kaldırılmış bir komut istiyorsa istek, bu hata koduyla başarısız olur. |
disabledCommand |
Yürütülen komut şu anda devre dışı, ör. "takePicture" komutu devre dışı bırakılır
kamera video modundaysa, kamera delayProcessing'i desteklemediğinde transactionPicture komutu devre dışı bırakılır. Bu hata kodu, API düzeyi 2'ye eklendi. |
cameraInExclusiveUse |
Kamera zaten özel olarak kullanıldığı için yeni oturum başlatılamıyor. Bu hata kodu, API düzey 2'de kullanımdan kaldırıldı. |
missingParameter |
Gerekli parametrelerden biri veya daha fazlası belirtilmedi. |
invalidParameterName |
Bir veya daha fazla giriş parametresi ya da seçenek adı tanınmıyor veya desteklenmiyor. |
invalidParameterValue |
Parametre veya seçenek adları tanındı ancak bir veya daha fazla değer geçersiz; değer aralığın dışındadır. |
Ö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
}
} |