gnello / php-openfire-restapi
OpenFire服务器REST API插件的客户端
3.0.1
2020-10-12 22:54 UTC
Requires
- php: >=5.5.0
- ext-json: *
- guzzlehttp/guzzle: ^6.0||^7.0
- psr/http-message: ^1.0
Requires (Dev)
- phpunit/phpunit: *
- symfony/var-dumper: ^3.1
This package is auto-updated.
Last update: 2024-09-11 01:27:22 UTC
README
A PHP客户端,用于Openfire REST API插件,该插件允许您通过向服务器发送REST/HTTP请求来管理Openfire实例。
请阅读文档以获取有关使用此应用程序的更多信息。
此客户端完全支持REST API插件的>=1.3.9版本。
依赖关系
需要在您的Openfire服务器上安装和配置REST API插件。
安装
Composer
安装php-openfire-restapi的最佳方式是使用Composer,运行以下命令
composer require gnello/php-openfire-restapi
有关如何安装和使用Composer的更多信息,请参阅此处。
用法
实例和身份验证
有两种身份验证方式
- 基本HTTP身份验证
use Gnello\OpenFireRestAPI\Client; $client = new Client([ 'client' => [ 'username' => 'ironman', 'password' => 'romanoff', ] ]);
- 共享密钥
use Gnello\OpenFireRestAPI\Client; $client = new Client([ 'client' => [ 'secretKey' => 'hulkstink', ] ]);
请确保在您的Openfire服务器上启用这些身份验证方法之一。
配置
您可以使用以下选项配置客户端
use Gnello\OpenFireRestAPI\Client; $client = new Client([ 'client' => [ 'secretKey' => 'hulkstink', 'scheme' => 'https', 'basePath' => '/plugins/restapi/v1/', 'host' => 'localhost', 'port' => '9090', ], 'guzzle' => [ //put here any options for Guzzle ] ]);
所需的唯一选项是与所选身份验证方法相关的选项。
检查响应
此客户端遵循PSR-7文档,因此任何响应都是ResponseInterface类型
if ($response->getStatusCode() == 200) { echo "Oh, great."; var_dump(json_decode($response->getBody())); } else { echo "HTTP ERROR " . $response->getStatusCode(); }
用户端点
//Create a new user $response = $client->getUserModel()->createUser([ "username" => "admin", "name" => "Administrator", "email" => "admin@example.com", "password" => "p4ssword", "properties" => [ [ "key" => "console.order", "value" => "session-summary=0" ] ] ]); //Delete a user $response = $client->getUserModel()->deleteUser('ironman'); //Ban a user $response = $client->getUserModel()->lockoutUser('ironman'); //Unban a user $response = $client->getUserModel()->unlockUser('ironman'); //Please read the UserModel class for a complete list of available methods.
聊天室端点
//Create a chat room $response = $client->getChatRoomModel()->createChatRoom([ "roomName" => "global-1", "naturalName" => "global-1_test_hello", "description" => "Global chat room", "subject" => "Global chat room subject", "creationDate" => "2012-10-18T16:55:12.803+02:00", "modificationDate" => "2014-07-10T09:49:12.411+02:00", "maxUsers" => "0", "persistent" => "true", "publicRoom" => "true", "registrationEnabled" => "false", "canAnyoneDiscoverJID" => "true", "canOccupantsChangeSubject" => "false", "canOccupantsInvite" => "false", "canChangeNickname" => "false", "logEnabled" => "true", "loginRestrictedToNickname" => "true", "membersOnly" => "false", "moderated" => "false", "broadcastPresenceRoles" => [ "moderator", "participant", "visitor" ], "owners" => [ "owner@localhost" ], "admins" => [ "admin@localhost" ], "members" => [ "member@localhost" ], "outcasts" => [ "outcast@localhost" ] ]); //Retrieve a chat room $response = $client->getChatRoomModel()->retrieveChatRoom('theavengers') //Add a user with role to a chat room use \Gnello\OpenFireRestAPI\Models\ChatRoomModel; $response = $client->getChatRoomModel()->addUserWithRoleToChatRoom('theavengers', 'ironman', ChatRoomModel::ROLE_MEMBER); //Delete a chat room $response = $client->getChatRoomModel()->deleteChatRoom('theavengers'); //Please read the ChatRoomModel class for a complete list of available methods.
组端点
//Create a group $response = $client->getGroupModel()->createGroup([ "name" => "theavengers", "description" => "team of superheroes appearing in American comic books published by Marvel Comics", ]); //Retrieve a group $response = $client->getGroupModel()->retrieveGroup('theavengers') //Delete a group $response = $client->getGroupModel()->deleteGroup('theavengers'); //Please read the GroupModel class for a complete list of available methods.
支持的端点
所有端点都受支持
联系
- gnello luca@gnello.com