Создать пользовательский продукт в Shopify

Мне нужно создать пользовательский продукт с помощью Shopify Storefront .Ссылка на документацию: http://docs.shopify.com/api/product#createЯ пробовал следующий код:Приведенный выше код показывает следующую ошибку в консоли Chrome при запросе ajax:ОПЦИИ https://rmisys.myshopify.com/admin/products.json 405 (не разрешено) jquery-1.10.2.js: 8706 ОПЦИИ https://rmisys.myshopify.com/admin/products.json Нет 'Access-Заголовок Control-Allow-Origin 'присутствует в запрашиваемом ресурсе.Поэтому происхождение ' http://rmisys.myshopify.com ' не разрешено.jquery-1.10.2.js: 8706 XMLHttpRequest не может загрузить https://rmisys.myshopify.com/admin/products.json .В запрошенном ресурсе отсутствует заголовок «Access-Control-Allow-Origin».Поэтому происхождение ' http://rmisys.myshopify.com ' не разрешено.design-your-shirt: 1 ошибка
4 голоса | спросил Vasu 15 Jpm1000000pmWed, 15 Jan 2014 14:41:56 +040014 2014, 14:41:56

2 ответа


0
После долгих поисков я нашел решение.Проблема заключается в распределении ресурсов между источниками (CORS) .http://en.wikipedia.org/wiki/Cross-origin_resource_sharingЭто используется для предотвращения защиты CSRF .https://docs.djangoproject.com/en/1.4/ref/contrib/csrf/В большинстве случаев API должен принимать запросы в соответствии с той же политикой происхождения http://en.wikipedia.org/wiki/Same-origin_policyТак,Если мы запрашиваем у «http» средства хоста, мы получили следующую ошибку для AJAX-запроса от Shopify:В запрошенном ресурсе отсутствует заголовок «Access-Control-Allow-Origin».Решение состоит в том, чтобы перенаправить пользователей на « https », когда они приходят на наш сайт по протоколу « http ».Я попытался с помощью следующего дополнительного кода и успешно добавил пользовательские продукты.ПРИМЕЧАНИЕ. Если мы добавляем пользовательский продукт со стороны клиента со сценарием, то это небезопасно, поскольку ключи становятся общедоступными, и пользователи могут делать с этим ключом API все, что захотят.Так что сделайте так, чтобы Secure Auth и клиентский скрипт взаимодействовали с этой безопасной аутентификацией.Я надеюсь, что этот ответ дает идеи CORS (Cross-Origin Resource Sharing) для начинающих.
ответил Vasu 15 Jpm1000000pmWed, 15 Jan 2014 18:38:38 +040014 2014, 18:38:38
0
Просто помни.Если вам удастся выяснить эти тривиальные проблемы с CORS, вы будете показывать свой магазин таким же людям, как я, с открытым ключом API.Я смогу удалить все ваши ресурсы.Я могу заменить твой инвентарь на все, что захочу.Вы не можете использовать Javascript, как это.Это нелепо.Создайте безопасное приложение, которое правильно аутентифицируется с oAuth.Затем используйте свой Javascript, чтобы поговорить с этим приложением.В противном случае вас ждут неприятности, потому что кто-то заставит вас выглядеть глупо.
ответил David Lazar 16 Jam1000000amThu, 16 Jan 2014 08:55:55 +040014 2014, 08:55:55

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132