Shopify App のインストールにおけるスコープの違いについて

Topic summary

Shopify アプリ開発において、APIスコープの設定方法に関する技術的な質問です。

状況:

  • Ruby Gem(shopify_app)を使用した数年前に自作したアプリで、再インストールが必要になった
  • APIスコープは .env ファイルを通じて config.scope = ENV['SHOPIFY_API_ACCESS_SCOPE'] で設定
  • インストール用URLに指定するスコープと .env に設定するスコープの違いが不明

回答内容:

  • 最新のテンプレートでは、スコープは .env ではなく config ファイルに指定する方式が推奨されている
  • 基本的にURLを手動で作成する必要はなく、設定ファイルにスコープを記述すれば自動的にインストールリンクが生成される
  • ユーザーが持つトークン作成時のスコープと異なる場合、再認証などのハンドリングが自動的に行われる

結論:
質問者は調査の結果、「.env に設定するAPIスコープとインストール用URLに指定するAPIスコープは同一である」ことを確認し、質問をクローズしました。ただし、shopify_app のバージョンが 15.0.0 から更新されていないため、マーチャントでの手動URL作成と更新が必要な状況です。

Summarized with AI on November 23. AI used: claude-sonnet-4-5-20250929.

Shopify App を Ruby Gem(shopify_app)を使用して開発しています。

上記ライブラリでは API のスコープを .env ファイルを通じて設定しています。

今回再インストールの必要があり、こちら のページを参考に新たに API スコープを更新しました。

.env に設定する API スコープとインストール用 URL に指定する API スコープの違いが分からないため、ご存じの方がいましたらご教示お願いいたします。

Ruby の shopify app template だと scope は .env ではなく config に指定するようですが、一旦そこは置いておいて、、、

基本的には URL を自分で作る必要はないと思っています。

scopeを設定ファイル(ここでは .env)に記述すれば

  • URLに設定して自動的にインストールリンクを作成
  • ユーザーが持ってるトークンの作成時のscopeと異なっていれば再認証

などのハンドリングを設定ファイルをもとにやってくれます。

よって、こちらのページを参考にする必要はないかと思います。

このページは、Shopify から提供されたテンプレート(Ruby版、Node版等)を使わず自分で0からアプリを作る際に参照するページとなります。

ご回答ありがとうございます。

前提が漏れておりました。

こちらのアプリは数年前に自作したものでテンプレートから作成したものではありません(対応はすべきですが。。)。scope は環境変数を使うことで config に指定しております(以下例)。

config.scope = ENV['SHOPIFY_API_ACCESS_SCOPE']

また、shopify_app のバージョンは 15.0.0 から更新していないため「ユーザーが持ってるトークンの作成時のscopeと異なっていれば再認証」ができず手動で URL を作成してマーチャントに更新してもらう必要があります。

こちらでも調査した結果、「.env に設定する API スコープとインストール用 URL に指定する API スコープ」は同一であることが分かりました。

この質問は閉じさせていただきます。