daygarcia/laravel-mercado-livre

一个用于帮助您连接到Mercado Livre API的Laravel包

dev-main 2022-05-17 14:18 UTC

This package is auto-updated.

Last update: 2024-09-17 19:44:24 UTC


README

一个连接到Mercado Livre API的包

需求

PHP 8 及以上版本

安装 & 使用

Composer

通过 composer 安装

composer require daygarcia/laravel-mercado-livre

设置

配置构造函数接收一个参数:一个包含连接到Mercado Livre API所需所有配置的数组

<?php

// Still under development

use Illuminate\Http\Request;

...

$config = new Configuration([
    'code'          => $request['code'],
    'client_id'     => config('mercadolivre.client_id'),
    'secret'        => config('mercadolivre.client_secret'),
    'redirect_uri'  => 'https://.com',
    'type'          => ($request->cookie('refresh_token') !== null && empty($request['code'])) ? 'renew' : 'new',
    'refresh_token' => $request->cookie('refresh_token') ?? null,
]);

返回的access_token有效期为6小时。

为Configuration类提供了getter和setter方法。您可以直接获取和设置code、client_id、secret、redirect_uri、type和refresh_token

或者,如果您自己管理令牌,您不需要在每次API调用时请求新的令牌。您只需将令牌作为值传递给Configuration实例即可

<?php

use Illuminate\Http\Request;

...

$config = new Configuration([
    'access_token' => 'APP_USR-fafafafafafa...',
]);

示例

<?php

use DayGarcia\LaravelMercadoLivre\Configuration;

...

public function index(Request $request)
{
    $config = new Configuration([
        'access_token' => $request->cookie('access_token'),
    ]);

    try {
        $meli = new ItemApi($config);
        $items = $meli->getSellerItems($request->cookie('user_id'));
        $response = $meli->getItems($items->results);

        return $this->success($response);
    } catch (Exception $e) {
        return $this->error($e->getMessage(), $e->getCode());
    }
}

文档 & 重要说明

URI相对于 https://api.mercadolibre.com
授权URL(设置正确的国家域名):https://auth.mercadolibre.{country_domain}
别忘了查看Mercado Livre开发者网站 开发者网站

待办事项

  • 改进错误处理