synergy / laravel-amazon-product-api
Laravel 的亚马逊产品广告 API
1.0.1
2022-01-05 16:13 UTC
Requires
- php: ^8.0
- ext-json: *
- guzzlehttp/guzzle: ^7.4
- illuminate/support: ^8.78
Requires (Dev)
- orchestra/testbench: ^6.23
README
支持结束时间(2020/06)
我的 API 账户已被封禁,因此我的活跃支持已结束。然而,PR 仍然被接受。
要求
- PHP >= 7.3
- Laravel >= 6.0
版本控制
- 基本: semver
- 删除旧 PHP 或 Laravel 版本:
+0.1
. composer 应能很好地处理它。 - 仅支持最新主要版本(
master
分支),但你可以向旧分支提交 PR。
安装
Composer
composer require revolution/laravel-amazon-product-api
发布配置(可选)
php artisan vendor:publish --tag=amazon-product-config
.env
AMAZON_API_KEY= AMAZON_API_SECRET_KEY= AMAZON_ASSOCIATE_TAG= AMAZON_HOST=webservices.amazon.com AMAZON_REGION=us-east-1
国家列表
https://webservices.amazon.com/paapi5/documentation/common-request-parameters.html
注意
用法
<?php use Revolution\Amazon\ProductAdvertising\Facades\AmazonProduct; # string $category, string $keyword = null, int $page = 1 $response = AmazonProduct::search('All', 'amazon' , 1); dd($response); # returns normal array # string $browse Browse node $response = AmazonProduct::browse('1'); # string $asin ASIN $response = AmazonProduct::item('ASIN1'); # array $asin ASIN $response = AmazonProduct::items(['ASIN1', 'ASIN2']); # setIdType: support only item() and items() $response = AmazonProduct::setIdType('EAN')->item('EAN'); # reset to ASIN AmazonProduct::setIdType('ASIN'); # PA-APIv5 not support EAN?
browse()
不包含详细信息。
$response = AmazonProduct::browse('1'); $nodes = data_get($response, 'BrowseNodesResult'); $items = data_get($nodes, 'BrowseNodes.TopSellers.TopSeller'); $asins = data_get($items, '*.ASIN'); $results = AmazonProduct::items($asins); # PA-APIv5 not support TopSeller?
你可能需要尝试-catch 或 Laravel 的 rescue()
辅助函数。
try { $response = AmazonProduct::browse('1'); } catch(ApiException $e) { } $response = rescue(function () use ($browse_id) { return AmazonProduct::browse($browse_id); }, []);
授权协议
MIT
版权 kawax