imper86 / allegro-api-bundle
Allegro rest/soap api symfony 扩展包
Requires
- php: ^7.1
- ext-json: *
- doctrine/doctrine-bundle: ^1.11
- doctrine/orm: ^2.6
- imper86/allegroapi: ^5.1
- sensio/framework-extra-bundle: ^5.4
- symfony/config: ^3.4 || ^4.0
- symfony/dependency-injection: ^3.4 || ^4.0
- symfony/event-dispatcher-contracts: ^1.1
- symfony/framework-bundle: ^3.4 || ^4.0
- symfony/http-kernel: ^3.4 || ^4.0
- symfony/routing: ^3.4 || ^4.0
README
这是一个简单的 symfony4 扩展包,用于imper86/allegroapi
安装
composer require imper86/allegro-api-bundle
在config/packages目录中添加您的配置。例如配置
imper86_allegro_api: sandbox: true client_id: '%env(ALLEGRO_CLIENT_ID)%' client_secret: '%env(ALLEGRO_CLIENT_SECRET)%' #budle's default is "logger". You can put null here, or your logger service logger_service_id: yourlogger #you can define how many times client will try to execute request on failure client_default_max_retries: 3 #your entity manager service entity_manager: default #this route is built in bundle. you can use your own if you want redirect_route: allegro_api_handle_code
在config/routes中添加扩展包的路由
imper86_allegro_api: resource: '@Imper86AllegroApiBundle/Resources/config/routes.xml'
在bundles.php中添加扩展包
Imper86\AllegroApiBundle\Imper86AllegroApiBundle::class => ['all' => true],
此扩展包使用doctrine/orm持久化Allegro账户信息,并存储令牌,因此请执行迁移或更新模式
./bin/console make:migration
用法
授权
设置完成后,您可以通过访问http(s)://your.app/allegro-api/start路由来开始授权码授予过程
您将被重定向到allegro.pl以确认授权。
之后,您将回到config中指定的redirect_route。如果您保留默认值,扩展包将处理响应,并获取和存储您的令牌对。
如果您想修改AllegroApiController::handleCode的响应,请编写Imper86\AllegroApiBundle\Event\AuthCodeEvent的订阅器/监听器。
使用客户端
要获取您的客户端,注入AllegroClientManagerInterface服务,并使用build方法创建API客户端(AllegroClientInterface)。
如果您想使用客户端凭证授权,请跳过授权部分,并用null参数替换AllegroAccount对象来使用build方法。
扩展包将为您处理令牌和soap sessionId,因此您可以在没有(null)令牌的情况下使用请求。
TokenBundleServiceInterface
如果您需要TokenBundleInterface对象、刷新令牌或sessionId,请注入此服务。
就这些吗?
此扩展包处于非常早期阶段,因此请预计未来会有很多更新,因为我知道这里有很多事情应该做得更好。
维护
目前维护的版本是v3。如果您使用v1或v2,您将不会收到任何扩展包更新。
贡献
任何帮助都将非常感激 :)