wandesnet/mercado-livre

Mercado Livre 集成 PHP SDK

1.2.5 2023-10-25 18:41 UTC

This package is auto-updated.

Last update: 2024-09-25 20:27:57 UTC


README

此集成包与 Mercado Livre(非官方版本)

要求

  • PHP 8.1+

安装

composer require wandesnet/mercado-livre

使用

创建一个继承自 Meli Connector 的类 Meli 并实现所需的方法

refreshTokenExpireIn 方法可供您根据逻辑自由实现以刷新令牌;请参阅以下示例

设置 setClientIdsetClientSecretsetRedirectUri 以更改设置

final class Meli extends MeliConnector
{

    public ?int $tries = 2; // default 1, try to request api 2 times if fail

    public function resolveBaseUrl(): string
    {
        return 'https://api.mercadolibre.com';
    }

    protected function defaultOauthConfig(): OAuthConfig
    {
        return OAuthConfig::make()
            ->setClientId('3232321')
            ->setClientSecret('fs4343fs423')
            ->setAuthorizeEndpoint('https://auth.mercadolivre.com.br/authorization')
            ->setRedirectUri('http://my-site.com/callback.php')
            ->setTokenEndpoint('oauth/token');
    }

    protected function refreshTokenExpireIn(): void
    {
        if ($this->hasExpired()) {
            $refresh = $this->refreshAccessToken($this->refresh_token);

            $this->access_token = $refresh->getAccessToken();
            $this->refresh_token = $refresh->getRefreshToken();
            $this->expires_in = $refresh->getExpiresAt()->getTimestamp();
        }
    }
}

使用示例 Meli::make()new Meli()

$response = Meli::make('access_token', 'refresh_token', 'expire_in')->auth()->request()->order(123456789);

生成 Mercado Livre 中认证 URL 的示例

 Meli::make()->getAuthorizationUrl();

认证后获取 access_token 的示例

 $authenticator = Meli::make()->getAccessToken($_GET['code']);

var_dump($authenticator->getAccessToken(), $authenticator->getRefreshToken(), $authenticator->getExpiresAt()->getTimestamp());

测试

./vendor/bin/pest