Interfejs API /osc/commands/execute wykonuje określone polecenia w kamerze. Wynikiem jest obiekt polecenia.
Dane wejściowe
Nazwa
Typ
Opis
name
Ciąg znaków
Polecenie do wykonania.
parameters
Obiekt
Parametry wejściowe polecenia zgodne ze specyfikacją definicji poleceń. Przykłady znajdziesz w specyfikacji interfejsu OSC API.
Wyniki
Nazwa
Typ
Opis
name
Ciąg znaków
Polecenie do wykonania.
state
Ciąg znaków
Stan polecenia. Musi mieć jedną z tych wartości:
done – zakończono, w tej odpowiedzi zostały zwrócone wyniki.
inProgress – nadal trwa wykonywanie.
error – wystąpił błąd, w odpowiedzi znajdziesz informację o błędzie.
id
Ciąg znaków (opcjonalnie)
Identyfikator polecenia. Ta wartość jest wymagana w przypadku poleceń zwracających stan inProgress. Na przykład polecenie camera.takePicture może potrwać kilka sekund, ponieważ jest wymagane zszycie. Więcej informacji znajdziesz w sekcji „Stan”.
results
Obiekt (opcjonalnie)
Wyniki polecenia. Ta wartość jest wymagana w przypadku poleceń zwracających standone, jeśli polecenie ma zwrócić wyniki. np.
“results” : {
“AAA”: „BBB”,
...
Przykłady znajdziesz w specyfikacji interfejsu OSC API.
error
Obiekt (opcjonalnie)
Opis błędu polecenia. Ta wartość jest wymagana w przypadku poleceń zwracających stan error;, na przykład:
“error”:{ “code”:“missingParameter” }
progress
Obiekt (opcjonalnie)
Opis postępu polecenia. Ta wartość jest wymagana w przypadku poleceń zwracających stan inProgress; np.
“progress”:{ “completion”:0.8 }
Błąd
Kod błędu
Opis
unknownCommand
Żądane polecenie jest nieznane, np. jeśli klient w wersji 2 (clientVersion ma wartość 2, zobacz Options) żąda wycofanego polecenia z poziomu interfejsu API 1, żądanie powinno zakończyć się niepowodzeniem i wyświetleniem tego kodu błędu.
disabledCommand
Wykonywane polecenie jest obecnie wyłączone, np. Polecenie „takePicture” jest wyłączone, gdy
aparat działa w trybie wideo, a polecenie ProcessPicture jest wyłączone, jeśli aparat nie obsługuje opóźnienia przetwarzania. Ten kod błędu został dodany na poziomie 2 interfejsu API.
cameraInExclusiveUse
Aparat jest już używany na wyłączność, nie można rozpocząć nowej sesji. Ten kod błędu został wycofany w interfejsie API poziomu 2.
missingParameter
Nie określono co najmniej jednego wymaganego parametru.
invalidParameterName
Nie udało się rozpoznać lub nieobsługiwać co najmniej 1 parametru wejściowego lub nazwy opcji.
invalidParameterValue
Nazwy parametrów lub opcji zostały rozpoznane, ale co najmniej jedna wartość jest nieprawidłowa. np. wartość jest poza zakresem.
Przykład
Żądanie (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
[null,null,["Ostatnia aktualizacja: 2024-08-21 UTC."],[[["The `/osc/commands/execute` API allows you to execute commands on the camera, such as adjusting settings or taking pictures."],["Input requires the command `name` and any necessary `parameters` defined in the OSC API Specification."],["Output provides the command `name`, `state`, and may include an `id`, `results`, `error`, or `progress` depending on the command and its execution status."],["Possible command states include `done`, `inProgress`, and `error`, with further details provided in the output fields."],["Refer to the OSC API Specification for specific command definitions, parameters, and result formats."]]],["The `/osc/commands/execute` API triggers commands on a camera, defined by a command `name` and associated `parameters`. The output indicates the command's `state` (`done`, `inProgress`, or `error`), an optional `id` for `inProgress` commands, `results` for completed commands, or `error` details. Possible errors include `unknownCommand`, `disabledCommand`, `missingParameter`, and `invalidParameterValue`. Example requests demonstrate how to set options and take a picture, with the responses showing command completion or ongoing progress.\n"]]