开始
Qlik NPrinting API 为 REST API,供您用于以编程方式管理自己的 Qlik NPrinting 对象。通过 API 可使用在 Qlik NPrinting Web 控制台中提供的一部分功能。
您在 Qlik NPrinting Web 控制台中操纵的对象在 API 中表示为 JSON 实体。这些实体具有和您在 Qlik NPrinting Web 控制台中找到的设置对应的属性。API 具有一组端点,让您可以为应用程序、用户、组、报表等创建、检索、更新以及删除实体。对于所有请求,返回的数据基于用户权限筛选,即如果用户未得到访问特定实体的授权,则不会在响应中返回该实体。
用户必须具备相关的域帐户方可作为已验证的 Windows 用户登录 API。有关配置域帐户的更多信息,请参见创建用户。
为了帮助您熟悉 API,我们将使用名为 Postman 的 REST 客户端概览一些简单的示例。您将学习如何:
- 连接并验证您的用户凭据
- 检索应用程序列表
- 更新实体
- 创建过滤器
在开始之前,您将需要:
-
通过下列网址安装 Postman:
- 知道安装了 Qlik NPrinting Server 的计算机的 URL。
Windows 身份验证
必须打开 Windows 身份验证才能允许外部连接(如 GET 和 POST REST 连接)正常工作。该设置可以打开和关闭,路径为 Qlik NPrinting web 控制台 中的管理员 > 设置 > 身份验证。
连接至 Qlik NPrinting API
默认设置下,Qlik NPrinting Server 在端口 4993 上监听 REST 请求,因此 URL 为:
https://NPrinting.server.name:4993/api/v1/<path>
验证您的用户凭据
在通过 NPrinting API 进行任何操作之前,必须验证您的用户凭据。
在后面的示例中,我们将通过当前的 Windows 用户名进行验证。
打开 Postman 并填写如下所示的字段。将 NPrinting.server.name 替换为您在其中安装 Qlik NPrinting Server 的计算机的 URL。
检索应用程序列表
以下端点返回当前用户有权限查看的 Qlik NPrinting 应用程序的完整列表。
打开 Postman 并如下所示填写字段,将 NPrinting.server.name 替换为您在其中安装 Qlik NPrinting Server 的计算机的 URL:
响应包括 ID、标题和其他有关每个应用程序的详细信息。
更新实体
您可使用 PUT 方法通过 API 更新特定实体。在您更新实体时,Qlik NPrinting Server 可能替代已省略属性的默认值,因此我们建议您在执行更新时务必包括整个实体。
在该示例中,我们将更新 users 实体的 email 属性。
要更新实体,请如下操作:
- 如果您不知道自己要更新的用户的 ID,则在 Postman 中输入以下路径并发送 GET 请求:
/users
在响应中搜索用户 ID。
- 将用户 ID 附加至 Postman 中的 users 路径并发送 GET 请求:
/users/{id}
响应形式应和以下所列类似:
}{ "data": { "id": "113ac265-163e-4feb-854e-ade3cdafc837", "email": "abc@example.com", "created": "2018-02-22T16:17:18Z", "lastUpdate": "2018-02-28T18:20:57Z", "enabled": true, "userName": "Test", "domainAccount": "domain\\test", "timezone": "Europe/Rome", "locale": "En", "folder": "test folder", "subFolder": "test subFolder" }
- 从返回的实体复制内部括号之间的内容,并将其粘贴至新的 PUT 请求的主体中。
- 更改 email 的值。
- 向实体添加密码属性和相应的值。请求的主体应和以下所列类似:
{ "password": "test", "id": "113ac265-163e-4feb-854e-ade3cdafc837", "email": "xyz@example.com", "created": "2018-02-22T16:17:18Z", "lastUpdate": "2018-02-28T18:20:57Z", "enabled": true, "userName": "Test", "domainAccount": "domain\\test", "timezone": "Europe/Rome", "locale": "En", "folder": "test folder", "subFolder": "test subFolder" }
-
对于主体中更新的实体,使用以下路径发送 PUT 请求:
users/{id}
在该示例中,{id} 将为 113ac265-163e-4feb-854e-ade3cdafc837。
- 使用相同的路径发送 GET 请求以验证更改。
创建过滤器
您可使用 POST 方法通过 API 为任务、报表、用户和对象创建过滤器。在该示例中,我们为 CategoryName 创建了简单的过滤器,其为销售额应用程序的数据源中的字段。
- 要创建过滤器,您需要了解应用程序的 ID 以及您希望对其应用过滤器的连接。
要检索 ID,可使用 Postman 发送 GET 请求至以下每个路径:
/apps
/connections
例如,要获取应用程序 ID,可将 GET 请求发送至 NPrinting.server.name:4993/api/v1/apps。
搜索响应中的 ID。
- 下面是 POST /filters 请求主体中包含应用程序和连接 ID 的示例代码:
{ "appId": "de867383-3d6a-4f37-8fe5-387552c60d3f", "enabled": true, "name": "AverageSaleByCategory", "description": null, "fields": [ { "connectionId": "9a7b1016-8d22-46ac-a384-158f715547a7", "name": "CategoryName", "overrideValues": false, "values": [ { "value": "Bath Clothes", "type": "text" }, { "value": "Men´s Clothes", "type": "text" }] }] }
响应包括新创建的过滤器的 ID,该 ID 在 location 标头中返回。
后续操作
现在您已经在 Qlik NPrinting API 中看到了一些请求,可尝试其他一些 API 端点,例如开始新的任务执行。
以下是可为您提供帮助的其他资源: