Wie erhalte ich ein Buch Grafik und Beschreibung aus dem Amazonas-Buch-API?
Frage
Diese URL eine ISBN-Nummer sendet Amazon und bekommt ein kleines Stück von XML, einschließlich Autor zurück, Titel und Verlag.
Allerdings mag ich auch kleine, mittlere und große Grafik und Buchbeschreibungen des Titels.
bekommen. Problem: Ich kann keinen REST URL Beispiele / Dokumention finden, die entweder bei Google arbeiten oder wenn sie in mein "AWS-Konto" bei Amazon Associates angemeldet
Ich finde eine Menge von Beispielen aus 2003-2005, aber sie sind all out-of-date und Fehler geben, es scheint, dass Amazons Cloud-Web-Service ihre einfache REST-API-Dokumentation für ihre Bücher verschleiert hat.
Kann mich jemand zu einem gewissen Dokumentation zeigen, wie ich detaillierte Informationen über Bücher bei Amazon über REST / XML bekommen?
Hier ist, was ich versucht habe, so weit .
Lösung
Also, lassen Sie mir meine eigene Frage zu beantworten, von einer anderen Frage hier fand ich diese nützlicher PDF und die folgenden URL Bilder zum Beispiel wird, finden Sie unter "Response"
Andere Tipps
Response ist der Schlüssel, und wenn Sie mehr als eine angeben (durch Komma getrennt) werden die Ergebnisse zusammengenäht
Das heißt, "& Response = Bilder, Small" gibt die minimalen Details und Bilder zu Produkten
Ich habe einige Funktionen bauen amazon xml mit PHP und curl mit einfachen Funktionen, wie dies nur greifen:
<?php
function Get_Amazon_XML($tag, $api, $secretkey, $region, $department, $query)
{
$time = time() + 10000;
$method = 'GET';
$host = 'webservices.amazon.'.$region;
$uri = '/onca/xml';
$slug["Service"] = "AWSECommerceService";
$slug["Operation"] = "ItemSearch";
$slug["SubscriptionId"] = $api;
$slug["AssociateTag"] = $tag;
$slug["SearchIndex"] = $department;
$slug["Condition"] = 'All';
$slug["Keywords"] = $query;
$params["ItemPage"] = 1;
$slug["TruncateReviewsAt"] = '500';
$slug["ResponseGroup"] = 'Images,ItemAttributes,EditorialReview';
$slug["Timestamp"] = gmdate("Y-m-d\TH:i:s\Z",$time);
$slug["Version"] = "2011-08-01";
ksort($slug);
$query_slug = array();
foreach ($slug as $slugs=>$value)
{
$slugs = str_replace("%7E", "~", rawurlencode($slugs));
$value = str_replace("%7E", "~", rawurlencode($value));
$query_slug[] = $slugs."=".$value;
}
$query_slug = implode("&", $query_slug);
$signinurl = $method."\n".$host."\n".$uri."\n".$query_slug;
$signature = base64_encode(hash_hmac("sha256", $signinurl, $secretkey, True)); // Get Amazon Signature API
$signature = str_replace("%7E", "~", rawurlencode($signature));
$request = "http://".$host.$uri."?".$query_slug."&Signature=".$signature;
$ch = curl_init();
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (compatible; Konqueror/4.0; Microsoft Windows) KHTML/4.0.80 (like Gecko)");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_URL, $request);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
$response = curl_exec($ch);
curl_close($ch);
return $response;
}
?>