Search code examples
amazon-web-servicesmagentoamazon-ec2magento-1.8

How to get Amazon Customer review on magento site


i want to show the amazon customer review on my magento site ... i searched a lot and i found some links which showing me the steps for this..

<iframe src="http://www.amazon.com/reviews/iframe?akid=[AWS Access Key ID]&asin=0316067938&exp=2011-08-01T17%3A54%3A07Z&linkCode=xm2&summary=0&tag=ws&truncate=256&v=2&sig=[Signature]" /> 

In this iframe AWSAccessKeyId and Signature is using .... i got the AWSAccessKeyId but i haven't found the Signature.

so please can you tell me, from where i get the Signature key of amazon.


Solution

  • We can easily get the customer review by using Amazon-ECS-PHP-Library .By Using this class the app generates an URL to an Amazon page with only the reviews on it , based on its ISBN number.

    The code

    # see comment above about 10 and 13 digit ISBNs 
    if($reviews = getAmazonReviews($book['ISBN_10'])) 
    {
      $amazonReviewsIframe = $reviews;
    } 
    else 
    {
      $asin = isbnToAsin($book['ISBN_13']);
      $amazonReviewsIframe = getAmazonReviews($asin); 
    }
    
    
    if($amazonReviewsIframe) 
    {
     echo "<a class='fboxEdit' href='$amazonReviewsIframe'>Amazon</a>";
    }
    
     # get the first two values from the Product Advertising API, 
     # last 2 values are needed for Amazon-ECS-PHP-Library
     define("API_KEY",         "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX");
     define("API_SECRET",      "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX");
     define("COUNTRY_CODE",    "com");
     define("ASSOC_TAG",       "myrealis");
    
    
     function amazonApi() 
     {
       # https://github.com/Exeu/Amazon-ECS-PHP-Library/blob/master/lib/AmazonECS.class.php
       require_once 'AmazonECS.class.php'; 
       $client = new AmazonECS(API_KEY, API_SECRET, COUNTRY_CODE, ASSOC_TAG);                                                                
       return $client;
     }
    
     function getAmazonReviews($asin) 
     {
      $client = amazonApi();
      $response = $client->category('Books')->responseGroup('Reviews')->search($asin);
    
      if($response->Items->Item->ASIN == $asin) 
      {
       return $response->Items->Item->CustomerReviews->IFrameURL;
      } 
      else 
      {
       return False;
      }
      }
    
      function isbnToAsin($isbn)
      {
        $client = amazonApi();
    
        # I extended the AmazonECS.class with the "lookupIsbn" function
        $response  = $client->category('Books')->lookupIsbn($isbn);
    
         if(isset($response->Items->Item->ASIN)) {
           return $response->Items->Item->ASIN;
         } else {
           return False;
         }
      }
    
    
        # added inside the AmazonECS.class
    
        public function lookupIsbn($isbn) 
       {
         $params = $this->buildRequestParams('ItemLookup', array(
    'ItemId' => $isbn, 'IdType' => 'ISBN', 'SearchIndex' => 'Books'
         ));
    
         return $this->returnData(
         $this->performSoapRequest("ItemLookup", $params)
         );
       }
    

    Please check this link, for more details.. Show Amazon book reviews on your site with the Product Advertising API