【问题标题】:Shopify API from external app? (backbone.js)来自外部应用程序的 Shopify API? (骨干网.js)
【发布时间】:2013-07-11 05:28:53
【问题描述】:

我正在与一位客户合作开发两个网站:一个提供有关其业务的一般信息的网站,以及一个单独的电子商务商店,用于销售他们提供的产品。据我所知,这是一种相当常见的方法,因为客户的 CMS 需求通常超出了大多数电子商务平台提供的范围。

主站点需要展示商店中的一些产品,所以我正在寻找具有 API 的电子商务平台。 Shopify 引起了我的注意,因为它具有返回 JSON 的 API。我将使用带有 Sinatra 后端的 Backbone.js 构建主站点。

谁能告诉我 Shopify API 是否可以这样使用?我还看到了一个名为 Shopify Widget 的有点脆弱且无法定制的 Shopify 应用程序,我认为它不能满足我客户的目的。您将如何处理这种情况?

【问题讨论】:

    标签: api backbone.js e-commerce shopify


    【解决方案1】:

    您必须使用 sinatra 应用作为 Shopify 商店的代理,因为无法通过 Javascript 进行跨域调用。

    您可以使用 ShopifyAPI gem 来完成大部分繁重的工作,如果您真的需要,您可以在 Sinatra 中编写一个 ghetto RestAPI,这样您就不会重新发明 Shopify 轮子。

    这可能很简单,例如:

    POST /shopify.json
    {
      "model": "ShopifyAPI::Product",
      "data": { ..shop data... }
    }
    

    您或许可以使用const_get 来检索您需要的实际模型。

    【讨论】:

    • 感谢@csaunders,非常有帮助。
    【解决方案2】:

    如果您使用 Sinatra 作为后端,您确实可以进行跨域 Ajax 调用。我一直都这样做。如果您想使用 CORS,只需使用 Rack-Cors gem。如果您因为 IE 在执行 CORS 时遇到问题而对此感到不安,您可以随时返回 JSONP 作为替代。如果您的 Sinatra 后端在子域上运行,您可以做任何事情,因为不存在跨域问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-18
      • 2015-03-13
      • 1970-01-01
      • 2014-09-05
      • 1970-01-01
      相关资源
      最近更新 更多