3

我一直在玩 Chrome 扩展程序,我想做的一件事是从亚马逊产品广告 API请求产品信息。执行此操作的代码非常简单,但到目前为止,我能找到访问 API 的唯一方法是创建一个签名请求,其中涉及使用您的 AWS 公钥和密钥。不幸的是,这意味着将我的 AWS 密钥嵌入到 Chrome 扩展中,这将允许任何人访问它们,所以这显然是不行的。

有谁知道是否可以在不包括我的密钥的情况下访问 API?有没有人使用 Javascript 完成此操作(特别是来自允许我忽略相同来源策略的 Chrome 扩展程序)。

4

2 回答 2

7

调查一下,这似乎不能直接从 Javascript 完成,而不会暴露您的密钥。我发现的唯一选择是:

  1. 托管服务器为您完成工作并使用 Javascript 直接与您的服务器对话
  2. 使用将为您进行签名的托管服务。我发现的一个例子是http://apisigning.com/service.html - 基本上是收费的,他们似乎为你签署了请求。请注意,我没有对此进行测试。

可悲的是,我认为这两个选项都比我计划使用的要多一些,所以我现在已经放弃了我的扩展。亚马逊不允许更轻松地访问他们的数据有点令人失望,但我猜他们觉得他们必须保护它免受竞争对手的侵害。

于 2013-09-05T22:45:50.090 回答
2

我猜你需要一个服务器来完成你的请求!让扩展程序将请求发送到您的服务器,然后对亚马逊的请求就完成了(php)。您可以在扩展中使用的结果!

于 2013-08-21T09:54:32.673 回答