亚马逊产品广告API:从ASIN获取产品详细信息URL

时间:2011-08-23 01:37:46

标签: php amazon-web-services

我使用PHP Soap Library连接到亚马逊并从ASIN检索产品封面。我已经完成了很多,但根据Agreement(至少据我所知; IANAL),我从API获得的任何信息都必须链接到亚马逊零售网站上的相应产品详细信息页面。我已经浏览了docs,但对于我的生活,我无法弄清楚我需要使用什么方法等,而不是手动构建URL(这可能是不稳定的)。有什么见解吗?

1 个答案:

答案 0 :(得分:3)

想出来。这是我最终使用的代码:

<?php
class AmazonMusicSearch extends AmazonECS {
    protected $asin;
    protected $detailPageUrl;
    protected $ecs;

    function __get($name) {
        return $this->$name;
    }

    function __construct() {
        $this->ecs = new parent(AZ_APP_ID, AZ_APP_SECRET, 'com', AZ_ASSOCIATE_TAG);
    }

    function searchByAsin($asin) {
        $search = $this->ecs->responseGroup('Small')->category('Music')->search($asin);

        $this->asin = $asin;

        if(isset($search['Items']['Item']['DetailPageURL'])) {
            $this->detailPageUrl = $search['Items']['Item']['DetailPageURL'];
        } elseif(isset($search['Items']['Item'][0]['DetailPageURL'])) {
            $this->detailPageUrl = $search['Items']['Item'][0]['DetailPageURL'];
        } else {
            return false;
        }

        return $this;
    }

    function detailPageFromAsin($asin) {
        return $this->searchByAsin($asin)->detailPageUrl;
    }
}
?>