Yürüt

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

Giriş

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