目标
我想创建一个下面的应用程序。
商家为每个客户选择“顶级产品”。这些将存储在我的后端。
例如:
然后客户应该能够登录,进入商店的一个页面(例如store.com/top_products),并看到他们自己的“顶级产品”。
我至今所做的事
我成功地将rails Shopify应用程序(app,它使用shopify_api gem)部署到Heroku,并将其连接到我的商店。
我还成功地设置了应用程序代理。我得到了正确的反应,从应用程序的管理应用程序页面和应用代理。
从本质上说,我的公共应用程序似乎运行良好。
我现在要做的事
我将不得不在应用程序代理中调用这样的内容:
ShopifyAPI::Product.find(:all, params: { limit: 10 })但是,这只能从ShopifyApp::AuthenticatedController (比如管理应用程序控制器)调用,而不能从ShopifyApp::ApplicationController (比如代理控制器)调用。
到目前为止,我只调用了API,并从商店的管理仪表板上看到了正确的结果。
I无法从未经身份验证的App .调用 ShopifyAPI::Product.find
谷歌并没有真正帮助我。这类似于我的问题(但没有解决方案):https://ecommerce.shopify.com/c/shopify-discussion/t/how-to-connect-to-a-store-with-api-from-app-proxy-request-429417
问题
发布于 2017-12-19 03:10:36
Shopify的App调用将商店作为参数shop提供给您。因此,您可以在后端查找商店,并对经过身份验证的会话执行任何操作。我一直用App和Webhooks来做这件事。您验证调用来自Shopify,您得到了商店名称,因此您可以打开一个安全会话。此外,您还可以使用App调用发送客户ID,以获取客户的产品。
您正在做正确的事情,App是正确的模式,所以继续下去。你离荣耀只有几分钟的路程。
我的代理控制器..。
shop = Shop.find_by(shopify_domain: params[:shop])
if shop
shop.with_shopify_session do
products = ShopifyAPI::Product.find(params[:id])
# la-dee-da I got a product...
end
endhttps://stackoverflow.com/questions/47874352
复制相似问题