FROM CACHE - jp_header
解決済

App proxiesのパス取得方法

Tomoyuki_K
Shopify Partner
38 10 30

App proxies のパスついて質問がございます。

 

前提知識


App proxiesは 自分で用意したコンテンツ(例:mycontents.example.com)を xxx.myshopify.com/apps/XXX のショップのドメインからプロキシして呼び出す機能だと理解しています。
アクセス元である xxx.myshopify.com/apps/xxx の apps/xxx のパス部分は、開発者側が関連付けるアプリの設定画面から登録できます。

しかしこのパスは、以下の場合は開発者側が設定したパスとは異なるパスの設定に書き換わってしまいます。

  • すでにショップがインストールしている他アプリによってそのパスが使われている場合
  • ショップ自身がインストールしたアプリの設定画面からパスを変更した場合

 

質問

この書き換わってしまったプロキシパスをアプリがembed app内で検知するは方法はあるのでしょうか?
仮に xxx.myshopify.com/apps/override に書き換わってしまっていた場合、実際にアクセスして、プロキシ先である mycontents.example.com にリクエストが飛んできた場合、path_prefix というget parameterでわかるようになっていることはドキュメントを読んで理解できました。

 

しかし、例えばembed app内で 「ページを確認する」 というリンクでプロキシURLを配置したい場合、書き換わってしまったプロキシURL(xxx.myshopify.com/apps/override)にアクセスする前にそのパスを把握する必要があります。ドキュメントを読んだ感じ、この場合の書き換わったパス情報を把握する方法がないように感じました。

 

いい方法があるのでしょうか?
ショップのユーザー自身が自分でインストールしたアプリの設定画面から現在設定されているプロキシのパスを確認するしか方法はないのでしょうか?

1 件の受理された解決策

junichiokamura
Community Manager
1200 280 506

成功

残念ながら、通知を受け取る側からはどのパスから来たかは分かりますが、テーマやアプリのコードから変更されたパスをあらかじめ知ることはできません。

デフォルトのprefixはアプリ名などでなるべく他のアプリと被らないようにした上で、もしパスをハードコードしている箇所がある場合は、アプリのトップ画面などでパスを変更した場合は動作しなくなる可能性があることを示唆するか、設定にパスを入れてもらってそれを使うようにするかが、解決策になるかと思います。

(他にベストプラクティスがあるか探してみます)

Senior Partner Solutions Engineer

元の投稿で解決策を見る

1件の返信1

junichiokamura
Community Manager
1200 280 506

成功

残念ながら、通知を受け取る側からはどのパスから来たかは分かりますが、テーマやアプリのコードから変更されたパスをあらかじめ知ることはできません。

デフォルトのprefixはアプリ名などでなるべく他のアプリと被らないようにした上で、もしパスをハードコードしている箇所がある場合は、アプリのトップ画面などでパスを変更した場合は動作しなくなる可能性があることを示唆するか、設定にパスを入れてもらってそれを使うようにするかが、解決策になるかと思います。

(他にベストプラクティスがあるか探してみます)

Senior Partner Solutions Engineer