革命 / laravel-amazon-product-api
Laravel 的亚马逊产品广告API
4.8.0
2024-02-20 05:29 UTC
Requires
- php: ^8.1
- guzzlehttp/guzzle: ^7.5
- illuminate/support: ^10.0||^11.0
- thewirecutter/paapi5-php-sdk: ^1.2
Requires (Dev)
- orchestra/testbench: ^8.0
This package is auto-updated.
Last update: 2024-09-16 01:38:58 UTC
README
停止活跃支持(2020年6月)
我的API账户已被封禁,因此我的活跃支持已经结束。然而,接受PR。
要求
- PHP >= 8.1
- Laravel >= 10.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(category: 'All', keyword: 'amazon' , page: 1); dd($response); # returns normal array # string $browse Browse node $response = AmazonProduct::browse(node: '1'); # string $asin ASIN $response = AmazonProduct::item(asin: 'ASIN1'); # array $asin ASIN $response = AmazonProduct::items(asin: ['ASIN1', 'ASIN2']); # setIdType: support only item() and items() $response = AmazonProduct::setIdType(idType: 'EAN')->item(asin: 'EAN'); # reset to ASIN AmazonProduct::setIdType(idType: 'ASIN'); # PA-APIv5 not support EAN?
browse()
不包含详细信息。
use Revolution\Amazon\ProductAdvertising\Facades\AmazonProduct; $response = AmazonProduct::browse(node: '1'); $nodes = data_get($response, 'BrowseNodesResult'); $items = data_get($nodes, 'BrowseNodes.TopSellers.TopSeller'); $asins = data_get($items, '*.ASIN'); $results = AmazonProduct::items(asin: $asins); # PA-APIv5 not support TopSeller?
可能需要尝试-catch或Laravel的rescue()
助手。
use Revolution\Amazon\ProductAdvertising\Facades\AmazonProduct; try { $response = AmazonProduct::browse(node: '1'); } catch(ApiException $e) { } $response = rescue(function () use ($browse_id) { return AmazonProduct::browse(node: $browse_id); }, []);
许可协议
MIT
版权所有 kawax