reso/reso-php

1.0 2018-04-10 12:10 UTC

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/

贡献

如果您有兴趣为项目做出贡献,请阅读 贡献指南