You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 15:03:24