Skip to main content
Skip table of contents

Сoздание OAuth тoкена доступа к потоку: Auth.CreateAccessToken

Метод и параметры

Этот метод генерирует токен авторизации к потоку, если при конфигурации потока через Stream.Add был указан метод авторизации private.

string Auth.CreateApiToken (uid stream, unsigned ttl)

Параметры

uid stream REQUIRED – уникальный идентификатор потока, для которого необходимо сгенерировать токен доступа.


unsigned ttl = 3600 – время действия генерируемого токена в секундах. Если указан 0, то время действия не ограничивается.

Не рекомендуем использование токена с неограниченным сроком действия, если это не является необходимостью.


bool live = false – разрешение на просмотр Live. false – просмотр Live запрещен, true – просмотр Live разрешен.


bool dvr = false – разрешение на просмотр DVR. false – просмотр DVR запрещен, true – просмотр DVR разрешен.


bool copy = false, разрешение на скачивание DVR. false – скачивание DVR запрещено, true – скачивание DVR разрешено.


unsigned from – нижняя граница DVR по времени в секундах. Если указан 0, то нижняя граница не ограничивается. Этот параметр имеет значение только в том случае, если функция записи DVR или копирования (copy) разрешены.


unsigned to – верхняя граница DVR по времени в секундах. Если указан 0, то верхняя граница не ограничивается. Этот параметр имеет значение только в том случае, если функция записи DVR или копирования (copy) разрешены.

to должно быть больше либо равно from.

POST /api/

JSON-RPC
JSON
{
    "jsonrpc": "2.0",
    "method": "Auth.CreateApiToken",
    "params": {
        "stream": "uid",
        "ttl": 3600
    },
    "id": 1
}
cURL
BASH
curl -k --request POST \
	--url 'https://your-domain/api/' \
	--header 'Content-Length: 142' \
	--header 'Content-Type: application/json' \
	--header 'Accept: application/json' \
	--header 'Authorization: Bearer <api-authorization-token>' \
	--header 'Content-Length: <Длина данных>' \
	--data '{
    "jsonrpc": "2.0",
    "method": "Auth.CreateApiToken",
    "params": {
        "stream": "uid",
        "ttl": 3600
    },
    "id": 1
}'
PHP
PHP
$data = array (
  'jsonrpc' => '2.0',
  'method' => 'Auth.CreateApiToken',
  'params' => 
  array (
    'stream' => 'uid',
    'ttl' => 3600,
  ),
  'id' => 1,
);
$context = stream_context_create([
	'ssl'=>['verify_peer' => false],
	'http' => [
		'method' => 'POST',
		'header' => "Content-Type: application/json\r
Accept: application/json\r
Authorization: Bearer <api-authorization-token>\r
Content-Length: <Длина данных>",
		'content'=>json_encode($data)
	]
]);
$result = file_get_contents('https://your-domain/api/', false, $context);

200 OK

Строка с OAuth-токеном

JSON
"<api-auth-token>"

400 Bad Request

Ошибка json-rpc

JSON
{
    "error": {
        "code": -32601,
        "message": "Method not found"
    }
}

500 Internal Server Error

Ошибка сервера

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.