Shopifyアプリ開発でトラブった話 – domainとmyshopify_domainは違う

カスタムアプリ開発で少しトラブったので、共有します。

REST API でストア情報を読み取ると、domainを含むさまざまなデータが返ってきます。

# コードの例
const Shopify = require('shopify-api-node');

const shopify = new Shopify({
  shopName: shopOrigin,                           // xxx.myshopify.com
  accessToken: access_token,                 // xxx.myshopify.comのアクセストークン
  apiVersion: process.env.API_VERSION,// APIバージョン(2021-07)
});
shopify.shop.get().then( (shop) => {
  console.log("オンラインストア情報", shop)
  resolve(shop)
}).catch( (error) => {
  console.log("shop get error:", error);
  reject(error);
});

上記のコードで、shop変数の中にストア情報が取得されています。

変数の中身は次のようになっています。

{
  id: 1234567890,
  name: 'ストア名',
  email: 'メールアドレス',
  domain: 'ドメイン',
  province: 'Tōkyō',
  country: 'JP',
...以下省略

ここでいう domain は、ストアに設定されているカスタムドメインのことを指しており、xxxx.myshopify.comのドメインを指していません。

これを勘違いしたことで、めっちゃハマってしまいました。。。

xxxx.myshopify.comのドメインを取得するには、 myshopify_domain からデータを取得する必要がりました。

shop変数の中を探すとちゃんとありました。。。

{
  id: 1234567890,
  name: 'ストア名',
  email: 'メールアドレス',
  domain: 'ドメイン',
  province: 'Tōkyō',
  country: 'JP',
...省略
  myshopify_domain: 'xxxx.myshopify.com',
...以下省略
}

基本的には、xxx.myshopify.com を基準にデータを管理しているので、こちらを使わないとエラーになりますね。

以上、アプリ開発の失敗談でした。

コメント

タイトルとURLをコピーしました