reso / reso-php
RESO PHP SDK / 库
Requires
- php: >=5.6
- ext-curl: *
- ext-dom: *
- ext-json: *
- ext-mbstring: *
Requires (Dev)
- phpunit/phpunit: 5.0.*
This package is not auto-updated.
Last update: 2024-09-19 03:17:35 UTC
README
该库的目标是允许开发人员使用HTTP和OAuth2进行基本的Web API请求。需要解析OData元数据的用户,需要为OData XML元数据格式添加额外的处理。
有关服务器应支持哪些查询的更多信息,请参阅RESO的Web API核心规范。
请注意,RESO目前不维护此代码库,但欢迎贡献。请提交一个pull请求,它将被审查和合并。
RESO WebAPI客户端PHP SDK
PHP版本的RESO WebAPI客户端SDK允许开发人员使用RESO API查询构建应用程序以检索列表数据。有关房地产标准组织(RESO)的更多信息,请访问www.reso.org或联系github@reso.org。希望更好地了解如何使用和贡献我们的标准的开发人员,请访问RESO开发者常见问题解答。
有关此存储库的特定问题应在“问题”部分发布,使用问题模板。
要求
PHP 5.3.3及更高版本。
Composer
您可以通过Composer安装绑定。运行以下命令
composer require reso/reso-php
要使用绑定,请使用Composer的自动加载
require_once('vendor/autoload.php');
手动安装
如果您不想使用Composer,您可以下载最新版本。然后,要使用绑定,请包含init.php
文件。
require_once('/path/to/reso-php-sdk/init.php');
依赖项
以下PHP扩展对于所有RESO WebAPI客户端PHP SDK功能正常运行是必需的
如果您使用Composer,这些依赖项将自动处理。如果您手动安装,请确保这些扩展可用。
入门指南
简单使用如下所示
// Set the variables RESO\RESO::setClientId('YOUR_CLIENT_ID'); RESO\RESO::setClientSecret('YOUR_CLIENT_SECRET'); RESO\RESO::setAPIAuthUrl('https://op.api.crmls.org/identity/connect/authorize'); RESO\RESO::setAPITokenUrl('https://op.api.crmls.org/identity/connect/token'); RESO\RESO::setAPIRequestUrl('https://h.api.crmls.org/RESO/OData/'); // Authorize user $auth_code = RESO\OpenIDConnect::authorize('YOUR_USERNAME', 'YOUR_PASSWORD', 'https://openid.reso.org/', 'ODataApi'); // Get access token RESO\RESO::setAccessToken(RESO\OpenIDConnect::requestAccessToken($auth_code, 'https://openid.reso.org/', 'ODataApi')); // Set the Accept header (if needed) RESO\Request::setAcceptType("json"); // Retrieve top 10 properties from the RESO API endpoint $data = RESO\Request::request('Property?\$top=10', 'json', true); // Display records print_r($data);
示例应用程序
在examples/
文件夹中提供了几个使用示例
cli-example
- 提供了一个示例控制台应用程序,用于查询RESO API数据;web-example
- 提供了一个示例PHP + HTML应用程序,用于登录(身份验证在服务器端完成)并执行RESO API请求,检索数据;web-callback-example
- 提供了一个示例PHP应用程序,展示了使用回调URL进行用户身份验证。
要配置示例应用程序变量/设置,请将每个示例应用程序中的config.php文件复制为_config.php,并相应地编辑变量。
配置日志记录器
SDK 内置日志记录器,用于调试和测试。用法
// Set logging RESO\RESO::setLogEnabled(true); // enables logging in general. Default: false. RESO\RESO::setLogConsole(true); // enables log messages to console. RESO\RESO::setLogFile(true); // enabled log messages to be written to log file.
单元测试
SDK 代码集包含 PHPUnit 测试。测试位于 tests/
目录中,覆盖了核心 RESO WebAPI 客户端 PHP SDK 功能测试。
要运行测试,请将 tests/config.php 文件复制到 tests/_config.php,并设置适当的 API 变量。然后,执行
./vendor/bin/phpunit --bootstrap init.php tests/
贡献
如果您有兴趣为项目做出贡献,请阅读 贡献指南。