Shopifyアプリのためのオプショナルスコープの設定
Shopifyアプリ開発における一つの課題は、ストア毎に異なるアクセススコープを要求する設定の複雑さです。また、一度付与されたスコープを取り消すための方法も必要です。これらの課題を解決するために、ShopifyのAdmin APIバージョン2024-10では、新たにoptional_scopesというアプリ設定が導入されました。
オプショナルスコープとは
オプショナルスコープを使用すると、以下のことが可能になります:
- 必要なスコープとオプショナルなスコープを分ける
- ストア毎に異なるアクセススコープを要求する
- ストアからアプリへ付与されたオプショナルスコープを取り消す
- アプリのランタイムでスコープを要求・取り消す
これらの機能を使用することで、Shopifyの管理するインストールを活用することができます。
オプショナルスコープの宣言方法
あなたのアプリ設定内で、アプリが要求する可能性のあるオプショナルスコープを宣言します。これは、アプリの必要なscopesに加えて指定します。
[access_scopes]
scopes = "read_products"
optional_scopes = [ "write_products", "read_discounts", "read_themes" ]
ランタイムでのオプショナルスコープの要求、取り消し、問い合わせ
オプショナルスコープを使用すると、アプリは商人に対してサーバーサイドAPIまたはクライアントサイドのApp Bridge APIを通じてアクセスを許可するように要求することができます。詳細はアクセススコープの動的な要求の方法を参照してください。
付与されたオプショナルスコープは、アプリによってストアから動的に取り消すことができます。このためのrevokeメソッドと、GraphQLのappRevokeAccessScopesミューテーションを提供しています。
オプショナルスコープを使用すると、アプリは現在のストアにどのスコープが付与されているかを知る必要があります。これにはqueryメソッドを使用します。また、アプリは手動でAppInstallationオブジェクトのaccessScopesフィールドを問い合わせることもできます。
オプショナルスコープについてさらに学ぶ
オプショナルスコープについてさらに詳しく知りたい場合は、アクセススコープの管理方法を参照してください。また、クライアントサイドのApp Bridge Scopes APIや、サーバーサイドのRemix Scopes APIも参考になります。






Share:
PrivateMetafieldが非推奨になりました
JS Buy SDKの廃止通知