Liquid、JavaScriptなどに関する質問
checkoutの作成をgraphql apiから作成しようとしています。
レート制限を考慮して、delegate access tokenを作成して呼び出しを考えております。
delegate access tokenを呼び出すAPIのaccess tokenの作成には下記を参考に行っております。
※参考サイト
https://shopify.dev/apps/auth/oauth/getting-started#step-5-get-a-permanent-access-token
scopeには「write_checkouts」を含めております。
delegateAccessScopeにはcheckout作成となるので「write_checkouts」をスコープに指定しております。
APIコールする際にヘッダーには「Shopify-Storefront-Private-Token: トークン値」を含めております。
checkout作成APIをコールすると「`403 Forbidden` response」の返答が帰ってきます。
checkout作成APIにはdelegate access tokenを指定することはできなのでしょうか?
解決済! ベストソリューションを見る。
成功
私は、CurlでポチポチAPIコールを試してみた、というレベルの確認しかしていないので、
間違った理解、誤った検証をしている可能性がありますことご留意ください。
Shopify-Storefront-Private-Token
をRequest Hederに指定されているということは、
Storefront APIのcheckoutCreateを利用しようとしている、という認識でおります。
https://shopify.dev/api/storefront/2022-07/mutations/checkoutCreate
しかし、
delegateAccessTokenCreateは、
今のところ、Admin APIにしか存在しないように見えます。
Admin API: https://shopify.dev/api/admin-graphql/2022-07/mutations/delegateAccessTokenCreate
こちらに、delegateAccessTokenCreateは確かに存在します。
Storefront API: https://shopify.dev/api/storefront
こちらには、delegateAccessTokenCreateはないように見えます。
そして、
delegateAccessTokenCreateを実際に叩いて確認したところ、
作成できるアクセストークンは、Admin API用のアクセストークン(固定のアルファベット「エス、エイチ、ピー、エイ、ティー」で始まるトークン)しか作成できないように見えました。
Admin APIからStorefront API用のトークンを作成するには、
storefrontAccessTokenCreate をするのかもしれません。
https://shopify.dev/api/admin-graphql/2022-07/mutations/storefrontAccessTokenCreate
storefrontAccessTokenCreateを、実行してみたところ、
実際にStorefront API用のトークンが作成されました。
(ただし、作成したトークンが不要になった場合は、明示的に削除する必要があるのかもしれません。 https://shopify.dev/api/admin-graphql/2022-07/mutations/storefrontAccessTokenDelete )
最後になりますが、
Storefront APIのcheckoutCreateに必要なスコープは、
unauthenticated_write_checkouts のようです。
https://shopify.dev/api/storefront/2022-07/mutations/checkoutCreate
私は、ShopifyのAPIに詳しいわけではありませんので、あくまで参考に留めていただければと思います。
(キュー田辺)
成功
私は、CurlでポチポチAPIコールを試してみた、というレベルの確認しかしていないので、
間違った理解、誤った検証をしている可能性がありますことご留意ください。
Shopify-Storefront-Private-Token
をRequest Hederに指定されているということは、
Storefront APIのcheckoutCreateを利用しようとしている、という認識でおります。
https://shopify.dev/api/storefront/2022-07/mutations/checkoutCreate
しかし、
delegateAccessTokenCreateは、
今のところ、Admin APIにしか存在しないように見えます。
Admin API: https://shopify.dev/api/admin-graphql/2022-07/mutations/delegateAccessTokenCreate
こちらに、delegateAccessTokenCreateは確かに存在します。
Storefront API: https://shopify.dev/api/storefront
こちらには、delegateAccessTokenCreateはないように見えます。
そして、
delegateAccessTokenCreateを実際に叩いて確認したところ、
作成できるアクセストークンは、Admin API用のアクセストークン(固定のアルファベット「エス、エイチ、ピー、エイ、ティー」で始まるトークン)しか作成できないように見えました。
Admin APIからStorefront API用のトークンを作成するには、
storefrontAccessTokenCreate をするのかもしれません。
https://shopify.dev/api/admin-graphql/2022-07/mutations/storefrontAccessTokenCreate
storefrontAccessTokenCreateを、実行してみたところ、
実際にStorefront API用のトークンが作成されました。
(ただし、作成したトークンが不要になった場合は、明示的に削除する必要があるのかもしれません。 https://shopify.dev/api/admin-graphql/2022-07/mutations/storefrontAccessTokenDelete )
最後になりますが、
Storefront APIのcheckoutCreateに必要なスコープは、
unauthenticated_write_checkouts のようです。
https://shopify.dev/api/storefront/2022-07/mutations/checkoutCreate
私は、ShopifyのAPIに詳しいわけではありませんので、あくまで参考に留めていただければと思います。
(キュー田辺)
キュー田辺様
ご返信ありがとうございます。
shopifyサイトで提供されているドキュメントを確認した処、StoreFrontAPIの呼び出しに使用できないのではないかと思っておりました。
また以下の投稿内容を見つけましたので共有させていただきます。
ご助力ありがとうございました。
Shopify アカデミーの学習パスと認定スキルバッジExpanding Your Shopify Business Internationallyを活用して、国際的にビジネ...
By Shopify Feb 7, 2025Shopify アカデミーの学習パスB2B on Shopify:立ち上げとカスタマイズで卸売販売に進出しましょう。これら3つの無料コースは、ShopifyストアでB2B機能...
By Shopify Jan 31, 2025サポートの選択肢が増えていく中、最適となる選択の判断が難しくなっているかと存じます。今回は問題の解決に最適となるサポートの選択方法を、紹介させて頂きます。 選択肢のご紹介...
By Mirai Oct 6, 2024