2011-08-23 129 views
3

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

回答

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; 
    } 
} 
?> 
相关问题