somosyampi/mercadolibre

Mercadolibre SDK Composer 包

1.0.1 2016-10-14 06:36 UTC

This package is auto-updated.

Last update: 2024-09-04 17:57:51 UTC


README

Latest Stable Version mercadolibre-sdk

MercadoLibre 的 PHP SDK Composer 包

这是 MercadoLibre 的 PHP Sdk 的分支,我们仅使其在 Laravel 项目中更容易实现

如何安装它?

   composer require vcoud/mercadolibre

如何使用它?

首先,实例化一个 Meli 类。你需要提供 clientIdclientSecret。创建自己的应用程序后,你可以获得这两个值。有关更多信息,请参阅: 创建应用程序

创建 Meli 类的实例

简单如这样

use Vcoud\Mercadolibre\Meli;

$meli = new Meli('1234', 'a secret');

有了这个实例,你可以开始使用 MercadoLibre 的 API。

有一些设计考虑因素值得提及。

  1. 此 SDK 在 http 客户端之上只是一个薄层,用于处理所有 OAuth WebServer 流。

  2. 有 JSON 解析。此 SDK 将包含 json 以供内部使用。

  3. 此 SDK 将包含 curl 以供内部使用。

  4. 如果你已经有了 access_token 和 refresh_token,可以在构造函数中传递

$meli = new Meli('1234', 'a secret', 'Access_Token', 'Refresh_Token');

如何将用户重定向到授权我的应用程序?

这是一个两步过程。

首先获取重定向用户的链接。这很简单!只需

$redirectUrl = $meli->getAuthUrl("http://somecallbackurl",Meli::$AUTH_URL['MLB']); //  Don't forget to set the autentication URL of your country.

这将给出重定向用户的 URL。你需要指定一个回调 URL,即用户在成功授权流程后将被重定向到的 URL。

一旦用户被重定向到你的回调 URL,你将在查询字符串中收到一个名为 code 的参数。你需要这个参数来完成第二个步骤。

$user = $meli->authorize($_GET['code'], 'http://somecallbackurl');

这将获取你的应用程序和用户的 access_tokenrefresh_token(如果应用程序有 offline_access)。

在这个阶段,你已准备好代表用户调用 API。

执行 GET 调用

$params = array('access_token' => $access_token);
$result = $meli->get('/users/me', $params); 
 #If you wish , you can get an associative array with param $assoc = true Example:
$result = $meli->get('/users/me', $params, true); 

执行 POST 调用

$params = array('access_token' => $access_token);

  #this body will be converted into json for you
$body = array('foo' => 'bar', 'bar' => 'foo');

$response = $meli->post('/items', $body, $params);

执行 PUT 调用

$params = array('access_token' => $access_token);

  #this body will be converted into json for you
$body = array('foo' => 'bar', 'bar' => 'foo');

$response = $meli->put('/items', $body, $params);

执行 DELETE 调用

$params = array('access_token' => $access_token);
$response = $meli->delete('/questions/123', $params)