Yürüt

/osc/commands/execute API, belirtilen komutları kamerada yürütür. Çıkış bir komut nesnesidir.

Giriş

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
    }
}