【问题标题】:Shopify wishlist app - displaying item information from products.json?Shopify 愿望清单应用程序 - 显示 products.json 中的项目信息?
【发布时间】:2021-04-11 23:45:44
【问题描述】:

我正在尝试完成我的 shopify 愿望清单应用程序的前端。

-我的应用使用一个数据库,每条记录都包含一个客户希望列出的产品 ID。

逻辑:
-我有一个带有包含客户 ID 的 div 标签的前端 shopify 页面。 (如果已登录)
- 我使用 javascript 来获取客户的 ID,然后从我的应用程序的数据库中获取所有产品 ID。
[到目前为止,它工作正常,我有产品 ID]
-现在我打电话给axios.post(appDomain + '/api/showWishlist', {shop_id: Shopify.shop,customer_id: customer})
-在我的 api.php 文件中,我有:Route::post('showWishlist', 'App\Http\Controllers\WishlistController@show');
- 然后我的愿望清单控制器文件中的显示函数具有需要从商店的 products.json 返回产品信息(名称、价格、图像等)的 php 代码。

这就是我的问题所在。我似乎无法根据 ID 获取产品信息。我最初的想法是在我的控制器功能中使用 graphQL,但我相信它只适用于网站所有者,因为运行 graphQL 需要 Auth::user()?

我如何通过使用 wishlistController.php 文件中的产品 ID 获取 shopify 产品详细信息(名称、价格等)?

【问题讨论】:

  • 但是范围是针对的,是否所有需要的都在那里?
  • 如果您想获取产品信息,您可以编写代码并使用不需要任何 API 访问的 Shopify 产品 AJAX API,但它仅适用于 Shop 前端。所以如果你想使用它,你需要根据你的需要开发逻辑。 Link

标签: javascript php laravel shopify


【解决方案1】:

由于您已经在运行一个应用程序,最好的办法是将其重构为嵌入(或仅安装)在商店本身中,并获得读取产品的权限。在前端,您使用 App Proxy 使用产品 ID 和客户 ID 调用您的应用程序。然后,您可以调用 Shopify,根据 ID 获取正确的产品信息,并向前端提供一个不错的 JSON 有效负载,这一切都是安全的。这是首选模式,如果没有它,您将面临艰难的困境。您可以尝试使用 StorefrontAPI 权限进行踢踏舞,但仍然如此。由于您没有提及您正在保护您的数据,因此您还会将您自己的应用程序暴露给滥用。使用 Shopify 嵌入式应用方法,您将受到保护。

【讨论】:

  • 我们确实注意到,由于 App Proxy 实际上并不能确保在负载中发送的客户 ID 属于已登录的客户,因此您必须按照您认为合适的方式处理这种情况。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-11-13
  • 2014-07-25
  • 2020-02-11
  • 1970-01-01
  • 1970-01-01
  • 2020-12-09
  • 1970-01-01
相关资源
最近更新 更多