使用亚马逊API获取产品详细信息

2024-02-13

我有以下代码来输出来自亚马逊的商品列表,但我不确定如何访问特定产品(带有 Summery、评论等)。任何帮助,将不胜感激。

<?php



    function makeAWSUrl($parameters, $associate_tag, $access_key, $secret_key, $aws_version = '2009-06-01') {



        $host = 'ecs.amazonaws.com';

        $path = '/onca/xml';



        $query = array(        

        'Service' => 'AWSECommerceService',

        'AWSAccessKeyId' => $access_key,

        'AssociateTag' => $associate_tag,

        'Timestamp' => gmdate('Y-m-d\TH:i:s\Z'),

        'Version' => $aws_version,

        );



        // Merge in any options that were passed in

        if (is_array($parameters)) {

            $query = array_merge($query, $parameters);

        }



        // Do a case-insensitive, natural order sort on the array keys.

        ksort($query);



        // create the signable string

        $temp = array();



        foreach ($query as $k => $v) {

            $temp[] = str_replace('%7E', '~', rawurlencode($k)) . '=' . str_replace('%7E', '~', rawurlencode($v));

        }



        $signable = implode('&', $temp);



        $stringToSign = "GET\n$host\n$path\n$signable";



        // Hash the AWS secret key and generate a signature for the request.



        $hex_str = hash_hmac('sha256', $stringToSign, $secret_key);



        $raw = '';



        for ($i = 0; $i < strlen($hex_str); $i += 2) {

            $raw .= chr(hexdec(substr($hex_str, $i, 2)));

        }



        $query['Signature'] = base64_encode($raw);

        ksort($query);



        $temp = array();



        foreach ($query as $k => $v) {

            $temp[] = rawurlencode($k) . '=' . rawurlencode($v);

        }



        $final = implode('&', $temp);



        return 'http://' . $host . $path . '?' . $final;

    }



    $url = makeAWSUrl(array('Keywords' => 'ipod',                           

    'Operation' => 'ItemSearch',                          

    'SearchIndex' => 'Electronics'),  

    'ResponseGroup' => 'Medium',                           

    'someid', 'aaaaaaaaaaaaa', 'aaaaaaaaaaaaaaaaaaaaaaaaaaa');





    $response = simplexml_load_file($url);



    foreach ($response->Items->Item as $item)

    {

        $Title [] = $item->ItemAttributes->Title;

    }





    foreach($Title as $CurrentTitle)

    {

        echo "<h2>".$CurrentTitle."</h2>";

    }







?>

The $response->Items->Item列表包含与您的查询匹配的所有项目/文章。这是一个列表objects。每个对象都有这样的属性ItemAtributes这又可以有属性。

看看文档 http://docs.amazonwebservices.com/AWSEcommerceService/4-0/ApiReference/MediumResponseGroup.html查看哪些属性可用。例如ItemAttributes->ListPrice->Amount包含商品的价格。

例如,要输出每个结果的价格和标题,请将代码更改为

$response = simplexml_load_file($url);
foreach ($response->Items->Item as $item) {
    echo "<h2>".$item->ItemAttributes->Title."</h2>";
    echo "Price: ".$item->ItemAttributes->ListPrice->Amount;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用亚马逊API获取产品详细信息 的相关文章

  • 使用 .htaccess 启用 PHP 短标签

    我在自己的 Centos 服务器上设置了 Apache 并具有多个虚拟 Web 服务器 并且我希望仅为位于以下位置的其中一个 Web 服务器启用 PHP 短标记 var www ostickets html 我可以通过添加成功启用短标签sh
  • 如何将自定义类型数组传递给 Postgres 函数

    我有一个自定义类型 CREATE TYPE mytype as id uuid amount numeric 13 4 我想将它传递给具有以下签名的函数 CREATE FUNCTION myschema myfunction id uuid
  • PMA 4.5.2.0 file_exists():open_basedir 限制生效

    从 PPA 在我的 Ubuntu 服务器上安装 phpMyAdmin 后 https launchpad net nijel archive ubuntu phpmyadmin https launchpad net nijel archi
  • 通过jquery传递搜索参数

    我有一个表单 如果用户输入搜索查询 其参数应通过 jquery 传递 并在获取结果后将结果加载到 div 容器中 由于我不太熟悉 jquery 我该怎么做 html currently the data is being displayed
  • 使用 PHP/COM/ADSI/LDAP 更改 AD 密码

    我已经被这个问题困扰了好几天了 我尝试了各种解决方案均无济于事 请帮忙 Problem 我们有两个域控制器 它们不属于我们的管理范围 我们能够通过端口 389 上的 LDAP 进行连接 但无法通过端口 636 安全连接 我们正在开发一个系统
  • 如何验证使用 php 上传的文件不包含可执行二进制文件?

    使用简单的 Firefox 插件 黑客可以更改他们想要上传的任何文件的 MIME 类型 绕过文件类型检查器 然后 黑客可以使用 GIMP 等程序将 php 脚本嵌入到图像 音频或任何其他文件的二进制数据中 我该如何检查并防止这种情况发生 您
  • $_POST、$_GET 和 $_REQUEST 之间有什么区别?

    我对这些超级全局变量有点困惑 POST GET and REQUEST 在 PHP 中 在 PHP 中哪些场景需要使用这些变量 这三个变量的主要区别是什么 POST是在使用 application x www form urlencoded
  • PHP 如果不存在,则从字符串中删除 ','

    我正在运行这段代码 stmt pdo conn gt prepare SELECT from admin where support emails support emails and logged logged and disabled
  • 如何计算加权平均值?

    我的语言是PHP 但是算法应该是相当通用的 我有一个关联数组 比方说 评级和评级次数 ratings array 1 gt 1 2 gt 3 3 gt 6 4 gt 3 5 gt 3 这相当于 1 2 2 2 3 3 3 3 3 3 4 4
  • Facebook Graph API v3.1 开发人员访问令牌权限限制

    如您所知 Facebook 将其 API 升级到了 V3 1 现在正在慢慢地淘汰旧的 API 和应用程序 因此我们必须迁移到新的 API 他们做出了一些艰难的决定 这对垃圾邮件网站来说是好事 但对开发人员来说也很难 提醒 Graph API
  • 如何读取 XML 文件并从中获取值以在 PHP 编码的 HTML 页面中显示

    我有一个 XML 文件 其中有一些重复的标签 其中包含不同的值 我需要获取这些值并显示在我的网页中 请帮助我得到这个 如果您使用 PHP5 可以查看 SimpleXML 您可以在这里找到介绍教程 http www w3schools com
  • 数据表 - 服务器端处理 - 数据库列合并

    我目前正在使用 DataTables 1 10 5 服务器端处理功能 http www datatables net examples data sources server side html http www datatables ne
  • 在 PHP 中将十进制/双精度/浮点值与 PDO 绑定的最佳方法是什么?

    看来类常量只涵盖PDO PARAM BOOL PDO PARAM INT and PDO PARAM STR用于绑定 您只是将十进制 浮点 双精度值绑定为字符串还是有更好的方法来处理它们 MySQLi 允许使用 d 类型表示 double
  • 如何在 Laravel 代码中使用 Artisan 命令?

    如何在我的 php caode Ex 中使用 Artisan 命令行 php artisan version to 您可以从控制器调用 Artisan 命令 如下所示 calling of migrate install Artisan c
  • 从数据库 MYSQL 和 Codeigniter 获取信息

    如果你们需要其他信息 上一个问题就在这里 从数据库中获取信息 https stackoverflow com questions 13336744 fetching information from the database 另一个更新 尽
  • Cognito/IAM 策略和 S3 获取对象

    我正在尝试将 S3 和 Cognito 集成到我的 iOS 应用程序中 但到目前为止尚未成功 我相信该错误与我针对 Auth 和 Unauth 用户的 IAM 策略有关 所以这是我的政策 Version 2012 10 17 Stateme
  • PHP 日志文件颜色

    我正在编写一个 PHP 日志文件类 但我想为写入文件的行添加颜色 我遇到的问题是颜色也会改变终端的颜色 我想要实现的是仅更改写入日志文件的行的颜色 class logClass extends Singleton private funct
  • Laravel - 覆盖模型 ID

    我正在开发电子书管理系统 我使用 UUID 而不是自动递增整数主键 它工作得很好 protected static function boot parent boot static creating function model model
  • 与 array_intersect 相反?

    是否有一个内置函数可以获取数组 1 中不存在于数组 2 中的所有成员 我知道如何以编程方式执行此操作 只是想知道是否有一个内置函数可以执行相同的操作 所以请不要提供代码示例 这听起来像是一份工作array diff http www php
  • 如何移动 Zend_Layout 的“视图”

    通常它会是这样的结构 application modules somemodule views scripts index index phtml 我如何将其移动到 application templates somemodule temp

随机推荐

  • openCV:创建特征匹配,输出数组的含义,java

    下面的代码 写在Java using openCV 库图像处理 产生类的输出匹配矩阵 问题是我不明白数组中的值告诉我有关匹配的信息 FeatureDetector fastFeatureDetector FeatureDetector cr
  • Linq就是这个string.Compare在查询中效率低下,有没有更好的方法?

    本来我有这个方法 public virtual User GetUser string username return db Users Single x gt x UserName username 基本上是一个 linq 方法 它根据用
  • 如何使用keras加载图像并显示图像?

    matplotlib inline from keras preprocessing import image import matplotlib pyplot as plt import numpy as np img np random
  • 在 OpenShift 上重新启动 WildFly 时出现内存不足错误

    我在 OpenShift 上使用 WildFly AS 时遇到问题 当我尝试在服务器上部署 WAR 时 我不断收到以下异常 2014 12 20 04 31 33 072 INFO org jboss as connector deploy
  • Durandaljs 可以做区域吗

    我正在尝试查看是否有办法在 Durandaljs 中进行区域操作 类似的东西 App areas home views viewmodels other views viewmodels 我看到 viewLocator 允许这种约定 vie
  • 在特定 FireStore 集合中执行集合组查询

    我的数据库结构如下 为了解决这个问题而进行了简化 Collection item A gt Document params someParameter value gt Document user 01 gt Sub collection
  • CSS 中的 E:dir(dir) 和 E[dir="dir"] 有什么区别? [复制]

    这个问题在这里已经有答案了 W3C 在选择器 4 中引入了一个新的用于方向检测的伪类 我想知道它与普通属性选择器有什么区别 CSS2 属性选择器 E dir rtl 选择器4 dir 伪类 E dir rtl 为此创建一个新的伪类有什么具体
  • 数据仓库 - 星型模式与扁平表

    我正在尝试为财务系统 项目调度系统和无数科学系统等常用数据的单一存储设计一个数据仓库 IE 许多不同的数据集市 我一直在阅读数据仓库和流行的方法 例如星型模式和 Kimball 方法等 但我找不到答案的一个问题是 为什么将 DW 数据集市设
  • 在 Eclipse 中对齐多行 Java 字符串

    我对 Eclipse 格式化程序系统有点陌生 分配给String像这样的几行 String cypher OPTIONAL MATCH update UPDATE name name update INSTALLED IN gt insta
  • Objects.isNull(...) / Objects.nonNull(...) 的用途

    目的是什么 Objects isNull x 如果我们可以简单地写 x null 同样适用于 Objects nonNull and x null From 该方法的 JavaDoc http docs oracle com javase
  • 卸载程序不删除注册表

    Function Check32or64BitWindows If RunningX64 strcpy INSTDIR PROGRAMFILES64 APP FULL PATH SetRegView 64 Else SetRegView 3
  • 为什么我的汇编代码比 C 实现慢很多

    我正在学习汇编 所以我写了一个例程 如果输入非负则返回其输入的平方根 否则返回 0 我已经在汇编和 C 中实现了该例程 我想了解为什么使用 O2 编译的 C 例程比我的汇编例程快得多 C 例程的反汇编代码看起来比我的汇编例程稍微复杂一些 所
  • 通过 ParameterizedThreadStart 传递参数

    我正在尝试通过以下方式传递参数 Thread thread new Thread new ParameterizedThreadStart DoMethod 知道如何做到这一点吗 我希望得到一些帮助 懒惰别列佐夫斯基有正确的答案 我想指出的
  • 原生 Android BLE 实现本质上是同步的吗?

    我记得读过 指导和提示 http img developer samsung com contents authCdn ble Guide and Hints for Samsung BLE API pdf gda 1375430976 5
  • 如何加速 VBA 代码

    我有一个带有VBA代码的excel文件 不是我写的 该代码的工作原理是用户在用户表单中输入 6 位数字 然后 VBA 检查另一张工作表 并检查该 6 位数字是否存在于工作表上 如果是 则会更改阶段 但如果没有 则会将此 6 位数字添加到工作
  • 在特定时间后在 Angular JS 中实时更新高图表

    我想在特定时间跨度后在 Angular JS 中实时更新高图表 并且它应该在 html 上得到反映 而无需在 Angular JS 中进行用户交互 下面是控制器 指令和 HTML 的代码 我正在使用 REST Web 服务从后端获取数据 控
  • 使用 waitKey 来暂停和播放视频

    我有一个VideoCapture在 OpenCV 中 我可以成功显示给定的视频 我现在想做的是通过按一个键来暂停和播放 可选哪个键 只要有效即可 我一直在读关于waitKey但有一些关于这整件事我不明白 ASCII 以及如何绑定键 我的理解
  • Nexus 和上传 .NET 应用程序的工件

    Nexus 是否可以用作 NET 应用程序构建输出的工件管理器 我非常了解 Nexus 可以成为出色的 nuget 代理和内部工件管理器 但是我需要 Nexus 在这些库的下游进行操作并存储 TeamCity 构建的输出 我研究过使用 RE
  • 使用泛型类中定义的泛型参数调用非泛型方法

    这是我的问题 public class MyClass
  • 使用亚马逊API获取产品详细信息

    我有以下代码来输出来自亚马逊的商品列表 但我不确定如何访问特定产品 带有 Summery 评论等 任何帮助 将不胜感激