FROM CACHE - jp_header

ShopifyアプリのAPIエンドポイント

解決済
RikutoNakamura
遊覧客
40 1 5

Shopifyアプリを作成しています
アプリのAPIはRESTで作成しておりますがアプリのAPIのエンドポイントはどのようになりますか?
https://test-ec.myshopify.com/admin/apps/test_app/post
このようにリクエストを送ったところうまくいきません
どなたか詳しい方いましたらよろしくお願い致します!

1 件の受理された解決策

ベストソリューション
abekeishi
遊覧客
22 11 27

成功

それはエンドポイントの問題ではなく、認証周りの問題かもしれませんね。

考えられる問題としては

  • ストア側からのリクエストでtokenを正しく設定できていない
  • アプリケーションサーバー側での認証が正しく行えていない
  • tokenを生成するためのapi keyが正しくない

とかがあると思います。

私は Rails で開発したことがないのでわかりませんが、埋め込みアプリに App Bridge を使用しているのであれば、App Bridge から JWT token を受け取ってリクエストを送信すればいいのではないかと思います。

いずれにせよ、質問の内容が変わってしまっているので、再度別スレッドで質問した方が有効な回答が得られるかと思います。

よろしければ回答済みとしてのマークと、前の回答をベストソリューションとして指定してもらえると幸いです。

元の投稿で解決策を見る

4件の返信4
abekeishi
遊覧客
22 11 27

Shopifyアプリののエンドポイントにリクエストを送ればいいのではないでしょうか?

【参考 : Display dynamic store data with app proxies

Shopify のストアのURL = https://test-ec.myshopify.com

アプリケーションのURL = https://my-app.com

だとします。この場合、単にShoipfy側から https://my-app.com にリクエストを送ることが可能だと思います。

 RikutoNakamuraさんがやろうとしているのはApp proxyを使ったやり方だと思いますが、この場合はエンドポイントは以下の様になるかと思います。

  • App proxy の設定 (RikutoNakamuraさんの提示したURLを参考に)

ここで、Shopify側から以下の様にリクエストを送信します。

https://test-ec.myshopify.com/admin/apps/test_app/post

このリクエストはApp proxyの設定に従い、以下のエンドポイントにリクエストが飛ぶはずです。

https://my-app.com/app_proxy/post

RikutoNakamura
遊覧客
40 1 5

ご回答ありがとうございます!
直接直接アプリのURLにリクエストを送ると422のActionController::InvalidAuthenticityTokenエラーが発生します
ちなみにアプリは埋め込みアプリで、こちらのエラーはshopifyの認証周りが関係しているのかと考えております。
やりたいこととしては埋め込みアプリにストアフロント(テーマの画面)からpostリクエストを送りたいです。
何かアドバイスいただけると幸いです。

abekeishi
遊覧客
22 11 27

成功

それはエンドポイントの問題ではなく、認証周りの問題かもしれませんね。

考えられる問題としては

  • ストア側からのリクエストでtokenを正しく設定できていない
  • アプリケーションサーバー側での認証が正しく行えていない
  • tokenを生成するためのapi keyが正しくない

とかがあると思います。

私は Rails で開発したことがないのでわかりませんが、埋め込みアプリに App Bridge を使用しているのであれば、App Bridge から JWT token を受け取ってリクエストを送信すればいいのではないかと思います。

いずれにせよ、質問の内容が変わってしまっているので、再度別スレッドで質問した方が有効な回答が得られるかと思います。

よろしければ回答済みとしてのマークと、前の回答をベストソリューションとして指定してもらえると幸いです。

RikutoNakamura
遊覧客
40 1 5

ありがとうございます!
こちらは一旦クローズさせていただきます
再度スレッド立てるのでアドバイスありましたらよろしくお願い致します!!