olxbr / olx-api-client
使用OAuth2的Olx API客户端库
Requires
- ext-curl: *
Requires (Dev)
- mikey179/vfsstream: 1.5.*@dev
- phpunit/phpunit: 4.7.*
- satooshi/php-coveralls: dev-master
This package is not auto-updated.
Last update: 2024-10-02 10:22:24 UTC
README
Olx Oauth API
本文档描述了如何通过Web应用程序使用OAuth 2.0协议作为认证方式在olx.com.br API中进行操作。
OAuth 2.0是一个相对简单的协议。首先,您需要在olx.com.br上注册您的应用程序,然后应用程序向olx.com.br的认证服务器请求访问密钥,然后使用此密钥接收您希望访问的olx.com.br API资源的详细信息。
第一步
想要与OLX集成?请发送电子邮件至integracao@olxbr.com
创建应用程序
在与olx.com.br服务器开始认证协议之前,客户端需要注册其应用程序,并需提供以下数据
- 客户端名称
- 应用程序名称
- 应用程序描述
- 网站
- 电话
- 电子邮件
- 重定向URI(在认证过程中识别客户端的目标重定向端点;至少1个,最多3个;参见2.1节)
收到数据后,olx.com.br将与客户端联系,提供其client_id和安全密钥,这是开始授权序列所需的。
通过composer安装
$ composer require olxbr/olx-api-client
手动安装
我们强烈建议使用composer,以便您可以在每次运行composer update时始终拥有我们类的新版本。
下载src中的两个类,并将其手动包含到您的项目中。
API使用示例
以下示例将展示一个通过OAuth进行认证并使用composer自动加载的用户的数据。
在您的应用程序中创建一个配置文件,用于存储从olx.com.br收到的用于使用我们API的数据
olx_oauth_secrets.json
以下所有信息均需针对您的项目进行特定设置,它们由Olx提供。redirect_uri必须与您在我们系统中注册的相同,否则您将无法使用API。
{ "client_id":"4414d3003b0794ba3dfc8da29493c8497cf352e7", "client_secret": "ed63d0a437cd6f9db6299ffe779bca81", "scope":"basic_user_info autoupload", "redirect_uri":"http://www.suapagina.com.br/return_page.php" }
在您将显示Olx API查询的页面上插入以下代码,在此示例中,我们使用了项目根目录下的index.php。请记住在实例化client类时放置正确的json文件路径。
index.php
<?php use OlxApiClient\Client; require 'vendor/autoload.php'; session_start(); $client = new Client('olx_oauth_secrets.json'); if (isset($_SESSION['olx_access_token'])) { $dadosUsuario = $client->call('basic_user_info', json_encode(array( 'access_token' => $_SESSION['olx_access_token'] ))); echo '<h1>Dados do Usuario</h1>'; var_dump(json_decode($dadosUsuario['body'])); } else { echo '<a href="'.$client->createAuthUrl().'">Autentica</a>'; }
如果用户授予所需权限,认证服务器将生成一个授权码,并通过以下URI参数的redirect_uri将此授权码发送给客户端
return_page.php
<?php use OlxApiClient\Client; require 'vendor/autoload.php'; session_start(); $client = new Client('olx_oauth_secrets.json'); if (!isset($_GET['code'])) { echo '<a href = '.$client->createAuthUrl().'>Autentica</a>'; } else { $_SESSION['olx_access_token'] = $client->authenticate($_GET['code']); header('Location: http://'.$_SERVER['HTTP_HOST'].'/'); }
return_page.php,在通过GET接收变量code后,将完成通过OAuth进行用户认证,并返回令牌。您应将此令牌存储在您的应用程序中,与用户关联,以便在需要使用我们的API时使用。