ODBC 経由で PowerBuilder から Shopify のデータ に接続
CData ODBC Driver for Shopify は、ODBC をサポートするあらゆるプラットフォームや開発技術から使用できます。PowerBuilder もその一つです。この記事では、Shopify のデータ に接続し、Database Painter や DataWindow などのコントロールからクエリを実行する方法を説明します。
Shopify にODBC データソースとして接続
まだ設定していない場合は、ODBC DSN(データソース名)で接続プロパティを指定します。これはドライバーインストールの最後のステップです。Microsoft ODBC データソースアドミニストレーターを使用して、ODBC DSN を作成・設定できます。
それでは、Shopify への接続・認証について説明していきましょう。Shopify では、アクセストークンとOAuth の2つの接続方法をサポートしています。
アクセストークンによる接続
アクセストークン経由の接続には、以下の2つのステップが必要です。
- Shopify の管理画面でアクセストークンを作成
- アクセストークンを使用して認証
アクセストークンの作成
まず、アプリを登録してアクセストークンを取得してみましょう。手順は以下のとおりです。
- 管理画面からShopify にログインし、Apps → Apps and sales channels に進みます
- Develop apps をクリックしてCreate an app を選択します
- Overview タブのConfiguration で、Admin API integration をクリックし、アプリに許可するストアのアクセス権を選択してください。CData製品が必要とするAdmin API 権限については、 href="/kb/help/" target="_blank">ヘルプドキュメントの「はじめに」セクションをご確認ください
- Save をクリックします
- Overview タブのConfiguration で、Storefront API integration をクリックし、アプリに許可するストアのアクセス権を選択します。CData製品が必要とするStorefront API 権限は以下のとおりです:
- unauthenticated_read_content
- Save をクリックします
- API Credentials を選択します
- "Access tokens" の下でInstall app をクリックします。これでアクセストークンが作成されます
- Admin API Access token のアクセストークンをコピーします。注意:トークンの公開およびコピーは1回のみ可能ですので、必ず保存してください
アクセストークンによる認証
続いて、アクセストークンで認証するには、以下のプロパティを設定してください。
- AuthScheme:AccessToken に設定
- AccessToken:カスタムアプリからコピーしたアクセストークンの値に設定
OAuth 認証を介した接続については、ヘルプドキュメントの「OAuth 認証の使用」をご確認ください。
Shopify 用 ODBC ドライバ のプロファイルを作成
以下の手順に従って、Database Painter ツールを使用し、Shopify の ODBC DSN(データソース名)に基づいてデータベースプロファイルを作成します。Database Painter では、ウィザードや UI を使用してShopify のデータを操作できます。
- PowerBuilder で、[ツール] -> [Database Painter]をクリックします。
- Database Painter の [オブジェクト] ウィンドウで、ODBC ノードを右クリックし、[新しいプロファイル] をクリックします。
- [接続] タブで、プロファイル名を入力し、[データソース] メニューで Shopify DSN を選択します。
- テーブルを表示・編集するには、テーブルを右クリックして [データの編集] -> [グリッド] をクリックします。
PowerBuilder コントロールで Shopify のデータ を使用
標準の PowerBuilder オブジェクトを使用して ODBC データソースに接続し、クエリを実行できます。以下の例では、Shopify のデータ を DataWindow に取得する方法を示します。次のコードを open メソッドに追加してください。
SQLCA.DBMS = "ODBC" SQLCA.DBParm = "ConnectString='DSN=CData Shopify Source'" CONNECT USING SQLCA; dw_customers.SetTransObject(SQLCA); dw_customers.Retrieve();