2

Я играю с расширениями Chrome, и одна из вещей, которые я хотел бы сделать, - запросить информацию о продукте от Amazon Product Advertising API. Код для этого довольно прямолинейный, но до сих пор единственным способом, который я могу найти для доступа к API, является создание подписанного запроса, который включает использование ваших общедоступных и секретных ключей AWS. К сожалению, это означало бы встраивание моих AWS-ключей в расширение Chrome, которое позволяло бы любому обращаться к ним, чтобы это, очевидно, не было.Доступ к API-интерфейсу Amazon можно получить из Javascript (расширение Chrome)

Кто-нибудь знает, можно ли получить доступ к API без моего секретного ключа? Кто-нибудь сделал это с помощью Javascript (и, в частности, из расширения Chrome, которое позволяет мне игнорировать ту же политику происхождения).

ответ

6

В этом действительно кажется, что это невозможно сделать непосредственно из Javascript без потенциального раскрытия секретного ключа. Единственные вариантами я обнаружил, являются:

  1. Хоста-сервер, чтобы сделать работу для Вас и говорить непосредственно к серверу с помощью Javascript
  2. Используйте размещенную службу, которая будет делать подписание для вас. Один из примеров, который я нашел, - http://apisigning.com/service.html - в основном за определенную плату они, похоже, подписывают запрос на вас. Обратите внимание, что я не тестировал это.

К сожалению, я думаю, что оба этих варианта немного больше, чем я планировал использовать, поэтому я отказался от своего расширения на данный момент. Это немного разочаровывает, что Amazon не позволяет более легкий доступ к своим данным, но я думаю, они считают, что им нужно защищать его от конкурентов.

3

Я думаю, вам нужен сервер для выполнения вашего запроса! Позволяет расширению отправлять запрос на сервер и там выполняется запрос на амазонку (php). Результат этого вы можете использовать в своем расширении!