こんにちは。CData Software Japan リードエンジニアの杉本です。
Shopify では以前までプライベートアプリという形で対象のストアにアプリを登録して、APIアクセスのための設定やクレデンシャル情報を取得することができました。
help.shopify.com
しかしながら、リンクでも触れられている通り、2022年1月時点で作成することができなくなっています。
プライベートアプリは、2022年1月時点で、非推奨であり作成することはできません。アプリ開発者にカスタムアプリの作成を依頼してください。プライベートアプリと同様、カスタムアプリはあなたのショップ専用に作成されますが、ストアへのオープンAPIアクセス権や管理画面へのアクセス権が求められることはありません。
その代わり、カスタムアプリという自身のShopifyストア専用のアプリを作成することで、APIアクセス用のAccessTokenを取得することができるようになっています。
help.shopify.com
というわけで今回はこのカスタムアプリを作成し、APIリクエストを実施する方法およびCData Shopify Driverから接続する方法を解説したいと思います。
カスタムアプリの作成
それではまずカスタムアプリを作成していきましょう。
Shopifyの管理画面から「Apps」→「Develop apps」に移動します。
「Create an app」をクリックして、作成していきましょう。
任意のApp nameを指定して、「Create app」をクリックします。
これで以下のように初期のアプリが作成されます。
アプリはそれぞれで利用できるAPIの権限、スコープを指定する必要があるので、「Configure Admin API Scopes」に進みましょう。
この画面で利用したい Admin API のScopeをそれぞれ指定していきます。指定が完了したら「Save」ボタンをクリックして保存します。
保存したら、自身のShopifyストアでこのアプリを利用できるようにするために「Install app」をクリックします。
注意文を読んで「Install」をクリックしましょう。
インストールが完了すると、以下のように「Admin API access token」を取得できる画面が表示されます。一度しか表示できないので、忘れずに控えておきましょう。
「shpat_XXXXXXXXXXXXXXXXXXXXXXXXXXXX」のようなフォーマットのtokenになっています。
Admin API access tokenを使ってAPIリクエストを行う
それでは Postman から「Admin API access token」を使って、実際にAPIリクエストを発行してみましょう。
今回は顧客一覧を取得するためのリクエスト「GET https://XXXXXX.myshopify.com/admin/api/2021-10/customers.json」を発行します。
使い方はシンプルで、取得した「Admin API access token」をHeaderの「X-Shopify-Access-Token」に指定してあげるだけです。
GET https://XXXXXXXX.myshopify.com/admin/api/2021-10/customers.json HTTP/1.1
Host: simpledevstore.myshopify.com
X-Shopify-Access-Token: shpat_XXXXXXXXXXXXXXXXXXXX
これで以下のようにレスポンスが取得できます。
CData Shopify Driver での接続方法
続いて、取得した「Admin API access token」を使って、CData Shopify Driver から接続してみます。
今回はCData Shopify JDBC Driverを利用しましたが、ODBCやExcel Add-in でも同様の設定で接続できます。
www.cdata.com
JDBCの接続テストツールを使って、まずテストしてみましょう。以下のようにプロパティを入力します。
プロパティ名 |
値 |
備考 |
ShopURL |
例)https://XXXXXX.myshopify.com |
対象のShopifyのURLを指定します。 |
OAuthAccessToken |
例)shpat_XXXXXXXXXXXXXXXXXXXX |
取得したAdmin API access tokenを指定します。 |
これで接続テストが完了すればOKです。
生成された接続文字列を使って、DbVisualizerなどのツールからアクセスすると、以下のように「Admin API access token」を使って、データが取得できました。
おわりに
ちなみに最新バージョンの CData Shopify Driver ではCData が提供している OAuthアプリを利用してアクセスすることもできます。
こちらのほうがシンプルに接続できるので、もし権限の調整や製品への組み込みでアプリを独自実装したい、というようなケース以外はこちらのOAuthによる接続が良いでしょう。
cdn.cdata.com
その他、気になる点があれば、お気軽にテクニカルサポートまでお問い合わせください。
https://www.cdata.com/jp/support/submit.aspx
関連コンテンツ