Shopify埋め込み公開アプリを、node (Shopify App CLI)、 React で構築しています。
指定したアセットファイルをテーマのアセットに追加するようなアプリを作りたいのですが、
node (server.js)で以下のように記述すると、下記のエラーがでてしまい、困っています。
router.get("/post-assets", async (ctx, next) => {
try {
const shop = ctx.cookies.get("shopOrigin");
//get main theme ID
const themeId = await fetch(
...
(メインテーマのIDを取得)
...
console.log(ID);
return ID;
});
// post asset
await fetch(
`https://${shop}/admin/api/2019-04/theme/${themeId}/assets.json`,
{
methods: "PUT",
},
{
headers: {
"X-Shopify-Access-Token": ctx.cookies.get("accessToken"),
"Content-Type": "application/json",
},
},
{
body: JSON.stringify({
assets: {
key: "template/index.liquid",
src: "http://apple.com/new_bg.gif",
},
}),
}
)
.then((response) => response.json())
.then((data) => console.log(data))
.catch((error) => {
console.error("Error:", error);
});
} catch (err) {
console.log(err);
}
});
エラーメッセージ
86586851463 // メインテーマのIDは取得できる
{
errors: '[API] Invalid API key or access token (unrecognized login or wrong password)'
}
アセットファイルの追加方法が間違っているでしょうか? 記述がもし間違っていたら、教えていただけると幸いです。