【问题标题】:Post request not working on shopify proxy发布请求不适用于 shopify 代理
【发布时间】:2016-02-18 18:00:15
【问题描述】:

我使用托管在 heroku 上的 shopify_app gem 创建了一个 Ruby on Rails 应用程序。这是一个查询 pg 数据库并返回发布到同一路径的结果表的简单表单。它在heroku上完美运行,但我试图弄清楚为什么在我的shopify站点代理上,只有路径的初始get请求有效,但是当它尝试使用请求到同一路径的搜索结果帖子来呈现视图时,shopify说'找不到网页'。这是 heroku 上应用程序的链接:https://rails-test-app4.herokuapp.com/proxy-test 和 shopify 上的应用程序:https://deltachildren-content.myshopify.com/apps/proxy-test

【问题讨论】:

  • 我在两个页面上都看到了“找不到产品..致电客户服务..”的结果。您可以分享任何测试数据吗?
  • 嗨@HymnZ!我将帖子更改为获取请求,并且我在控制器操作中有一个 if 语句,如果存在参数值,则呈现索引视图,但我更愿意让它与两个不同的操作一起使用。您知道这是否是 shopify 代理的限制吗?他们只能为每个代理提供一种操作/请求类型。我已经只使用了一个路径,因为代理似乎不支持路径中的任何扩展。
  • 没有。从技术上讲,没有限制。应用代理仅用于 URL 屏蔽。您是否将 POST 请求传递给这种类型的 URL? https://MyApiKey:MyApiPassword@myshop.myshopify.com
  • @HymnZ 不,我的 config/routes /apps/proxy-test 中只有一个路由,它适用于 get 请求,只是没有发布。我将如何按照您的建议发布它?
  • 好的。我现在明白了。请检查答案。

标签: ruby-on-rails ruby shopify


【解决方案1】:

根据我们在 cmets 中的讨论,我理解这一点(如果我错了,请纠正我):

  1. 您已在 Heroku 上设置了一个应用,并使用它来控制 Shopify 商店中的数据。
  2. 您已在 Shopify 上使用 /apps/* 路径设置了应用代理,并将其链接到 Heroku 上的应用。
  3. 您可以在应用程序(例如网页)上检索 (GET) 信息,但无法发布新信息或修改信息 (POST/PUT/DELETE)。

这不是应用代理的工作方式。应用代理用于从原始应用获取信息,然后通过 Shopify 服务器将其传递,呈现任何液体代码并将其显示给用户。更多细节在这里 - Application Proxies: The New Hotness

只要在 Shopify 或第三方外部网站(绕过 CORS 和 iframe 问题)的正式限制(不需要 API 身份验证的基本信息)范围内,检索信息就相当简单。如果您想获得更详细的信息,您需要从 Heroku 上的应用程序向 Shopify 商店进行 RESTful 调用。

对于所需的每个 API 端点以及如何使用 Ruby on Rails 实现它们都有特定的指南,但这里有一个开始的方向 - How to get to everything using Ruby on Rails

希望对你有所帮助。

【讨论】:

  • 嗨@HymnZ,我没有调用api,它正在搜索我的应用程序的数据库并将结果返回到同一页面。我想我使用代理的原因是我避免将我的应用程序指向它自己的域,我试图捎带我现有的 shopify 域。它正在与我现在使用的方法一起使用,但我认为具有不同请求的相同路径不适用于代理很奇怪
  • 您好,抱歉。在这个问题上,我想我无法进一步帮助您。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-07-08
  • 2021-09-01
  • 1970-01-01
  • 1970-01-01
  • 2017-12-23
  • 2023-01-12
相关资源
最近更新 更多