开始

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 客户端概览一些简单的示例。您将学习如何:

  • 连接并验证您的用户凭据
  • 检索应用程序列表
  • 更新实体
  • 创建过滤器

在开始之前,您将需要:

备注: 根据您的环境,您可能需要配置 Chrome 以让其接受自签署的证书。有关其他信息和说明,请参见 Chrome 文档。

连接至 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 属性。

要更新实体,请如下操作:

  1. 如果您不知道自己要更新的用户的 ID,则在 Postman 中输入以下路径并发送 GET 请求:

    /users

    在响应中搜索用户 ID。

  2. 将用户 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" }

    }
  3. 从返回的实体复制内部括号之间的内容,并将其粘贴至新的 PUT 请求的主体中。
  4. 更改 email 的值。
  5. 向实体添加密码属性和相应的值。请求的主体应和以下所列类似:

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

  6. 对于主体中更新的实体,使用以下路径发送 PUT 请求:

    users/{id}

    在该示例中,{id} 将为 113ac265-163e-4feb-854e-ade3cdafc837。

  7. 使用相同的路径发送 GET 请求以验证更改。

创建过滤器

您可使用 POST 方法通过 API 为任务、报表、用户和对象创建过滤器。在该示例中,我们为 CategoryName 创建了简单的过滤器,其为销售额应用程序的数据源中的字段。

  1. 要创建过滤器,您需要了解应用程序的 ID 以及您希望对其应用过滤器的连接。

    要检索 ID,可使用 Postman 发送 GET 请求至以下每个路径:

    /apps

    /connections

    例如,要获取应用程序 ID,可将 GET 请求发送至 NPrinting.server.name:4993/api/v1/apps

    搜索响应中的 ID。

  2. 下面是 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 端点,例如开始新的任务执行。

以下是可为您提供帮助的其他资源: