お世話になります。
これまでプライベートアプリを利用して以下のように shopify_api gem を利用していました。
ShopifyAPI::Base.site = 'https:<APIキー>:<パスワード>@shop.myshopify.com'
新たなアプリ開発のために新しいプライベートアプリを作成しようとしたのですが、
既にプライベートアプリの新規作成は廃止となっていたようなのでカスタムアプリを作成しました。
カスタムアプリで生成される認証情報はプライベートアプリと違うようで、上記のようにAPIキー、パスワードを含むURLが発行されませんでした。
shopify_api の README にあるように ShopifyAPI::Context.setup を使う方法も試したのですが、uninitialized constant ShopifyAPI::Context のエラーが発生してしまいうまくいきませんでした。
gem のバージョンは以下の通りです。
shopify_api (9.5.1)
shopify_app (18.1.1)
カスタムアプリではどのように shopify_api の gem を利用するのでしょうか?
ご存知でしたらアドバイスいただけると幸いです。
よろしくお願いいたします。
アプリの開発/運用にあまり実績がないので、あくまで、参考までに、なのですが、
下記のコードで商品情報を取得できました。
実行環境
shopify_api (10.1.0)
shopify_app (19.0.2)
require 'shopify_api'
ShopifyAPI::Context.setup(
api_key: "
<api-access-token>は、カスタムアプリを作成した際に生成される「Admin APIのアクセストークン」です。下記の記事に取得方法が記載されています。(質問者様も取得済みだと思いますが念の為。)
[https://www.cdatablog.jp/entry/shopify-jdbc-dbvisualizer-authentication](https://www.cdatablog.jp/entry/shopify-jdbc-dbvisualizer-authentication)
Shopifyのチュートリアルですと、このように直接セッションを作るのではなく、
```ruby
session = ShopifyAPI::Auth::Session.new(shop: "
下記のようにし、セッション毎にアクセストークンを作るようにしています。
[https://github.com/Shopify/shopify_api/blob/main/docs/usage/oauth.md](https://github.com/Shopify/shopify_api/blob/main/docs/usage/oauth.md)
公開するアプリであればそうするべきかと思いますが、
元々、プライベートアプリだったとのことなので、
直接セッションを作成する方法でも問題ないかもしれません。
しかし、前述の通り、私も詳しいわけではありませんので、
どういった不具合があるか分かりません。
導入には十分お気をつけください。
ご参考まで。
(キュー田辺)