proximify / uniweb-api

UNIWeb应用的参考API客户端。

安装: 47

依赖项: 0

建议者: 0

安全: 0

星星: 0

关注者: 2

分支: 1

开放问题: 1

语言:HTML

v1.1.9 2020-10-23 16:31 UTC

This package is auto-updated.

Last update: 2024-09-17 06:55:46 UTC


README

uniweb API logo

UNIWeb的API定义和客户端

API的目的在于将UNIWeb与您组织内部的其他系统集成。API提供了对UNIWeb存储信息的安全读写访问,并提供了一种机制来消除重复数据的需要。

UNIWeb API提供

  • 一个接口,允许您通过我们的API控制谁可以访问您机构的数据。
  • 一种安全的读取和更新您机构信息的方式。
  • 简单直观的JSON格式,以实现最大化的可读性和可重用性。
  • 选择预过滤请求的数据,以获取您感兴趣的信息子集。

了解更多: UNIWeb API的完整文档.

API客户端

Uniweb API的一个示例参考客户端是用PHP编写的,可以通过Composer安装。

通常,下载客户端以运行本地测试,并使用客户端作为参考。其他客户端可以用不同的语言开发,因为所有需要的只是发送HTTP请求的能力。

要实验API客户端,可以简单地通过运行以下命令创建一个使用它的项目

$ composer create-project proximify/uniweb-api

创建此类项目的优点是,其中的composer.json已经定义了一个CLI query脚本来进行测试

API客户端也可以通过以下方式作为其他项目的依赖项添加

$ composer require proximify/uniweb-api

测试

创建凭证

在您的UNIWeb实例中,转到管理屏幕并选择API部分。

uniweb API logo

单击“创建客户端”按钮,输入您的API客户端名称,并保存。

uniweb API logo

创建后,在客户端列表中找到该客户端,并单击其“查看”按钮以找到为客户端创建的密钥。

uniweb API logo

注意:客户端的权限与创建客户端的用户权限相同。

要通过API连接到UNIWeb,您将需要实例的URL、客户端名称和客户端密钥。

使用参考UniwebClient类

UniwebClient类的构造函数期望一个包含以下形式的凭证的数组

$credentials = [
    "clientName" => "",
    "clientSecret" => "",
    "homepage" => ""
]

在运行测试时,凭证可以定义在名为credentials.json的json文件中,并将其放置在settings文件夹中。出于安全考虑,应将settings/credentials.json添加到.gitignore中,以避免意外提交密钥。

运行示例查询

uniweb-api项目包括一个queries文件夹,其中包含代表不同用例的代码,这些用例使用UniwebClient类执行常见的API请求类型。

如果项目是用composer create-project创建的,则根目录还将包含一个www文件夹,其中包含一个简单的脚本,用于为运行示例查询生成主页。此外,composer.json文件定义了一个Composer命令,可以从终端运行查询。

要运行示例查询,您需要在settings/credentials.json中设置API凭证

{
    "clientName": "",
    "clientSecret": "",
    "homepage": ""
}

uniweb-api项目的.gitignore文件已经包括了排除该文件的命令。但如果你将项目用作其他项目的依赖项,请确保在它中也忽略credentials.json

测试客户端的一个简单方法是使用PHP内置的Web服务器。要启动内置Web服务器,请切换到uniweb-api项目的www文件夹,并在该文件夹中启动Web服务器。

注意:如果该项目是父项目中的依赖项,您首先必须进入根文件夹vendor/proximify/uniweb-api

$ cd www && php -S localhost:8000

当PHP Web服务器正在运行时,URL https://:8000 应该显示网站。

uniweb API logo

或者,您可以使用composer和query脚本来从命令行测试预定义的查询。

$ composer query example3