如何通过Shopify REST API获取非默认语言的产品详情?
Shopify REST API 获取非默认语言产品数据问题解决思路
针对你遇到的添加Content-Language和Accept-Language请求头后仍返回默认语言产品数据的问题,可尝试以下解决方向:
启用API本地化特性头
Shopify Admin REST API获取多语言内容需要先开启特定特性支持,单独设置语言头无效。修改请求选项,添加X-Shopify-Api-Features头:$requests = $shop->api()->rest('GET', 'admin/api/2024-04/products/' . $request->id . '.json', [ 'fields' => 'id,title,body_html', ], $options = [ 'X-Shopify-Api-Features' => 'include-presentations', 'Accept-Language' => 'es' ]);这个特性头会触发API返回产品的本地化展示数据。
获取
presentations字段提取对应语言内容
在请求的fields参数中加入presentations,API会返回包含各语言版本的数组,你可以从中筛选locale为es的条目:$requests = $shop->api()->rest('GET', 'admin/api/2024-04/products/' . $request->id . '.json', [ 'fields' => 'id,title,body_html,presentations', ], $options = [ 'X-Shopify-Api-Features' => 'include-presentations' ]); // 后续从返回的presentations数组中提取es语言的内容尝试路径式语言指定
部分API版本支持在路径中直接加入语言代码,比如构造请求路径为admin/api/2024-04/es/products/' . $request->id . '.json,替代请求头方式测试。切换API版本
当前使用的2024-04版本可能存在语言头兼容问题,尝试升级到更近期的稳定版本(如2024-07),新版本通常会优化多语言API的处理逻辑。考虑改用Storefront API
你提到的前端JSON链接属于Storefront API范畴,该API的语言处理更直接,通过locale参数即可指定语言,适合获取面向顾客的本地化产品数据。
内容的提问来源于stack exchange,提问作者Aleks Per
相关产品推荐
相关产品推荐

