olxbr/olx-api-client

使用OAuth2的Olx API客户端库

v0.1.2 2015-09-08 21:22 UTC

This package is not auto-updated.

Last update: 2024-10-02 10:22:24 UTC


README

Build Status Coverage Status Latest Stable Version License

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时使用。