返回

使用VAPIX API在AXIS Entry Manager中创建用户:常见问题解答和步骤

php

在AXIS Entry Manager中通过VAPIX API创建用户:常见问题解答

前言

AXIS Entry Manager与VAPIX API集成时,在通过cURL创建用户时可能会遇到困难。本博客文章将探讨常见的错误代码、解决这些代码的步骤,以及为cURL请求正确格式化用户数据的详细指南。

错误代码

在尝试通过cURL创建用户时,你可能会遇到以下错误代码:

  1. "没有指定操作!path: /vapix/pacs/ options: action=&"
  2. "格式良好的错误,简单的解析错误:axudb:User - 预期边界在位置 91 \n {"User":\n"

解决步骤

错误代码 1

这个错误表明你没有在cURL请求中指定一个动作。请确保将请求的"action"参数设置为"axudb:SetUser"。

错误代码 2

这个错误表明你没有正确格式化用户数据。请确保将用户数据作为JSON有效负载发送,并正确设置"Content-Type"标头。

格式化用户数据

为了正确格式化用户数据,请遵循以下步骤:

  1. 创建一个包含以下数据的用户列表:
    • 姓名(FirstName和LastName)
    • 任何其他所需的属性
  2. 将用户列表包装在一个"User"数组中。
  3. 将"User"数组转换为JSON有效负载。

cURL请求示例

以下是一个格式良好的cURL请求示例,用于创建具有名字和姓氏的用户:

$url = 'http://myip/vapix/pacs/';
$username = 'root';
$password = '**** *';

$userData = [
    "User" => [
        [
            "Name" => "Freeman, Gordon",
            "Description" => "",
            "Attribute" => [
                [
                    "Name" => "FirstName",
                    "Value" => "Gordon"
                ],
                [
                    "Name" => "LastName",
                    "Value" => "Freeman"
                ]
            ]
        ]
    ]
];

$jsonPayload = json_encode($userData);

$ch = curl_init($url);
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_DIGEST);
curl_setopt($ch, CURLOPT_USERPWD, "$username:$password");
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, ['action' => 'axudb:SetUser', 'User' => $jsonPayload]); // Notera: Justera detta beroende på API:s förväntningar
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: application/json']);

$response = curl_exec($ch);

if (curl_errno($ch)) {
    echo 'cURL Error: ' . curl_error($ch);
} else {
    echo "Response: \n$response";
}

curl_close($ch);

结论

通过遵循本指南中的步骤,你应该能够成功地在AXIS Entry Manager中使用VAPIX API创建用户。如果你遇到任何进一步的问题,请参考提供的cURL请求示例并确保你的用户数据格式正确。

常见问题解答

  1. 我可以在AXIS Entry Manager中创建多少个用户?

    • 没有任何限制。
  2. 我可以创建具有哪些属性的用户?

    • 可以创建具有任何支持的VAPIX API属性的用户。
  3. 用户可以属于多个组吗?

    • 是的,用户可以属于多个组。
  4. 如何删除用户?

    • 使用"axudb:RemoveUser"动作删除用户。
  5. 如何更新用户信息?

    • 使用"axudb:SetUser"动作更新用户信息。