首页 > 解决方案 > Shopify Admin API:无法将资产上传到 Layout 文件夹 - 422 错误

问题描述

我正在使用管理 API 发出一个安静的 PUT 请求,将一些文件上传到主题文件夹。

我可以成功地将文件上传到“布局”文件夹以外的任何文件夹,这会导致 422 错误。上传到资产、模板部分等效果很好。

我正在使用以下 PUT 请求和有效负载。

PUT /admin/api/2020-04/themes/{themeID}/assets.json


{
"asset": {
"key": "layout/themes-test.liquid",
"value": "The HTML FOR THEME.LIQUID"
}
}

Layout 文件夹是否需要一些特殊权限才能上传?

提前致谢。

标签: restshopify-appshopify-templateshopify-apihttp-status-code-422

解决方案


发现了问题。Shopify 期望在 head 和 body 标签中分别出现以下内容:

{{content_for_header}} 和 {{content_for_layout}}

注入以下满足上述要求并且有效!

{
"asset": {
"key": `layout/theme-test.liquid`,
"value": `<head>{{content_for_header}}</head><body>{{content_for_layout}}</body>`
}
}

推荐阅读