synergy/laravel-amazon-product-api

Laravel 的亚马逊产品广告 API

1.0.1 2022-01-05 16:13 UTC

This package is auto-updated.

Last update: 2024-09-05 22:12:18 UTC


README

Build Status Maintainability Test Coverage

支持结束时间(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