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ペイメント決済サービスを利用していて、ストアの管理画面の通知セクションに突然「Shopifyペイメントの使用を継続するために必要な情報」というバナーメッセージが表示さ...
By Mirai Dec 3, 2023すべてのShopifyアカウントはデフォルトではmyshopify.comのURLと関連付けられており、これはアカウント設定時に使用したビジネス名に基づいて作成されます。しかし、オ...
By Nina_13 Nov 26, 2023このトピックは英語版コミュニティの投稿:Shopify Web Pixel Manager Sandbox FAQの日本翻訳です。
By Mirai Nov 19, 2023