wandesnet / mercado-livre
Mercado Livre 集成 PHP SDK
1.2.5
2023-10-25 18:41 UTC
Requires
- php: ^8.1.0
- saloonphp/saloon: ^3.0
Requires (Dev)
- laravel/pint: ^1.7
- pestphp/pest: ^2.4.0
- phpstan/phpstan: ^1.10.10
- symfony/var-dumper: ^6.2.8
README
此集成包与 Mercado Livre(非官方版本)
要求
- PHP 8.1+
安装
composer require wandesnet/mercado-livre
使用
创建一个继承自 Meli Connector 的类 Meli 并实现所需的方法
refreshTokenExpireIn 方法可供您根据逻辑自由实现以刷新令牌;请参阅以下示例
设置 setClientId、setClientSecret、setRedirectUri 以更改设置
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