firurapper/mercadolibre

Mercadolibre SDK Composer 包

dev-master 2020-06-18 06:03 UTC

This package is auto-updated.

Last update: 2024-09-18 15:07:31 UTC


README

Latest Stable Version mercadolibre-sdk

MercadoLibre 的 PHP SDK Composer 包

这是 MercadoLibre 的 PHP SDK 的分支,我们只让它更容易在 Laravel 项目中实现

如何安装它?

   composer require firurapper/mercadolibre

如何使用它?

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

创建 Meli 类的实例

简单就像这样

use firurapper\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)