使用api在shopify上创建主题

问题描述 投票:0回答:1

我正在尝试创建一个应用,并且用户可以在该应用内安装主题,但是,我似乎无法弄清为什么未创建主题。它一直将我商店中已经安装的主题拉到控制台,我的代码似乎没有创建可以显示在我的shopify商店中的主题。

server.js

    router.post('/api/theme', async (ctx) => {

    try {

      const results = await fetch("https://" + ctx.cookies.get('shopOrigin') + "/admin/themes.json", {
        headers: {
          'X-Shopify-Access-Token': ctx.cookies.get('accessToken')
        },

      })
        .then(response => response.json())
        .then(json => {
          console.log("https://" + ctx.cookies.get('shopOrigin') + "/admin/api/2020-01/themes.json", json);
        });


      ctx.body = { 
          data: results
      };


    } catch (err) {
      console.log(err)
    }
  });

front.js文件

 async function getUser() {
        var url = `/api/theme`;
        var method = 'post';
        const theme = {
            theme: {
                name: "Lemongrass",
                src: "https://codeload.github.com/Shopify/skeleton-theme/zip/master"
                }
        };
      const data = JSON.stringify(theme);
      fetch(url, { method: method, body: data})
    }
node.js reactjs api shopify shopify-app
1个回答
0
投票

为了创建主题,您需要您要创建的主题的zip存档。

终点应该是/admin/api/2020-01/themes.json,主体应该是这样的:

{
  "theme": {
    "name": "Theme name",
    "src": "http://themes.shopify.com/theme.zip",
    "role": "unpublished"
  }
}

请参考https://shopify.dev/docs/admin-api/rest/reference/online-store/theme#create-2020-01以获取更多信息。

从您的代码开始,我既看不到正确的POST请求,也看不到存档文件。

© www.soinside.com 2019 - 2024. All rights reserved.