Ich versuche, eine App zu erstellen, um mehrere Elemente zu suchen. Ich kann den Code mit einer einzelnen Variable für einen Gegenstand laufen lassen, aber sobald ich die Variable zu einem Array mache und foreach loop führe, gibt es mir rawurlencode erros. Es besagt, dass die erste Zeile eine Zeichenfolge sein muss. Etwas verwirrt darüber, wohin ich von hier aus gehen sollte.Amazon api php urlencode Fehler
x = array(744750545472, 705911706019);
foreach ($x as $value) {
$params = array(
"Service" => "AWSECommerceService",
"Operation" => "ItemLookup",
"AWSAccessKeyId" => "ACCESSKEY",
"AssociateTag" => "[email protected]",
"ItemId" => $x,
"IdType" => "UPC",
"ResponseGroup" => "ItemAttributes,OfferFull,Offers,SalesRank",
"SearchIndex" => "All"
);
// Set current timestamp if not set
if (!isset($params["Timestamp"])) {
$params["Timestamp"] = gmdate('Y-m-d\TH:i:s\Z');
}
// Sort the parameters by key
ksort($params);
$pairs = array();
foreach ($params as $key => $value) {
array_push($pairs, rawurlencode($key)."=".rawurlencode($value));
}
// Generate the canonical query
$canonical_query_string = join("&", $pairs);
// Generate the string to be signed
$string_to_sign = "GET\n".$endpoint."\n".$uri."\n".$canonical_query_string;
// Generate the signature required by the Product Advertising API
$signature = base64_encode(hash_hmac("sha256", $string_to_sign,
List item
aws_secret_key, true));
// Generate the signed URL
$request_url = 'http://'.$endpoint.$uri.'?'.$canonical_query_string.'&Signature='.rawurlencode($signature);
$data = simplexml_load_file($request_url);
echo $data->Items->Item->ASIN;
entfernen, wenn Original-Anmeldeinformationen geschrieben – C2486
War meine Antwort hilfreich? Bitte siehe http://stackoverflow.com/help/someone-answers. Vielen Dank! – miken32