proximify / uniweb-api
UNIWeb应用的参考API客户端。
Requires
- php: >=7.1.0
- proximify/cli-actions: ^1.0.1
README
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部分。
单击“创建客户端”按钮,输入您的API客户端名称,并保存。
创建后,在客户端列表中找到该客户端,并单击其“查看”按钮以找到为客户端创建的密钥。
注意:客户端的权限与创建客户端的用户权限相同。
要通过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
应该显示网站。
或者,您可以使用composer和query
脚本来从命令行测试预定义的查询。
$ composer query example3