製品情報をご覧ください

製品情報や無償評価版を製品ページにてご確認いただけます。

製品ページへ

Linux 上でGMO MakeShop にデータ連携するシンプルなGo アプリケーションを作成

CData ODBC Driver for GMO MakeShop とunixODBC を使って、GMO MakeShop に連携するGo アプリケーションを作成。

Go はオープンソースのプログラミング言語でLInux/Unix マシンに簡単にソフトウェアを構築することを可能にします。 Go とODBC Driver for GMO MakeShop およびunixODBC を組み合わせて使うことで、GMO MakeShop データにリアルタイム連携するアプリケーションを書くことができます。 本記事では、ODBC Driver for GMO MakeShop のインストール、unixODBC Driver Manager への設定、そしてGMO MakeShop に連携するGo アプリケーションの作成までを説明します。

Linux マシンで CData ODBC Drivers を使用する

CData ODBC Drivers はUbuntu、Debian、RHEL、CentOS、およびFedora など多くのRed Hat-based およびDebian-based のシステムでサポートされています。 ほかにもいくつかのライブラリやパッケージのインストールが必要ですが、すでにデフォルトでインストールされている場合もあります。詳細はオンラインおよびインストールされるヘルプドキュメントの「はじめに」のセクションを参照してください。

Driver Manager のインストール

ドライバーのインストール前にシステムにDriver Manager が入っているかを確認してください。本記事では無償のオープンソースDriver Manager であるunixODBC を使います

Ubuntu のようなDebian ベースのシステムでは、APT パッケージマネージャからunixODBC をインストールできます:

$ apt-get install unixODBC unixODBC-dev

Red Hat Linux ベースのシステムでは、yum もしくはdnf からunixODBC をインストールできます:

$ yum install unixODBC unixODBC-devel

unixODBC Driver Manager はDriver の情報をodbcinst.ini ファイルから読み、odbc.ini からからデータソースの情報を読みます。 次のコマンドをターミナルに入力して、コンフィギュレーションのロケーションを決めることができます:

$ odbcinst -j

コマンドのアウトプットでODBC データソースのコンフィギュレーションファイルと登録されたODBC Drver のロケーションを表示します。 ユーザーデータソースはodbc.ini ホームフォルダが位置するユーザーアカウントのみからアクセス可能です。システムデータソースはすべてのユーザーからアクセスできます。 このコマンドのアウトプット例は以下です:

DRIVERS............: /etc/odbcinst.ini SYSTEM DATA SOURCES: /etc/odbc.ini FILE DATA SOURCES..: /etc/ODBCDataSources USER DATA SOURCES..: /home/myuser/.odbc.ini SQLULEN Size.......: 8 SQLLEN Size........: 8 SQLSETPOSIROW Size.: 8

ドライバーのインストール

標準パッケージ形式でドライバーをダウンロードできます:Debian .deb package format もしくは、.rpm file format です。 ファイルをダウンロードしたら、ターミナルからドライバーをインストールします。

ドライバーインストーラーはドライバーをunixODBC に登録し、ODBC 接続をサポートするツールやアプリケーションから利用できるシステムDSN を作成します。T

Ubuntu のようなDebian ベースのシステムでは、sudo とともに次のコマンドを実行します: $ dpkg -i /path/to/package.deb

.rpms をサポートするシステムでは、sudo とともに次のコマンドを実行します: $ rpm -i /path/to/package.rpm

ドライバーのインストール後、unixODBC Driver Manager を使って、登録されたドライバーを表示し、データソースを定義することができます:

$ odbcinst -q -d CData ODBC Driver for GMO MakeShop ...

定義されたData Source の表示

$ odbcinst -q -s CData GMOMakeShop Source ...

unixODBC でCData ODBC Driver for GMO MakeShop を使用するには、ドライバーがUTF-8 を使用するように設定する必要があります。それには、通常はインストールフォルダのlib フォルダ(/opt/cdata/cdata-odbc-driver-for-gmomakeshop)に入っているドライバーのINI ファイル(cdata.odbc.gmomakeshop.ini)を次のように編集する必要があります:

cdata.odbc.gmomakeshop.ini

... [Driver] DriverManagerEncoding = UTF-16

DSN の変更

ドライバーがインストールされると、システムDSN が事前定義されます。システムDSN はシステムデータソースファイル(/etc/odbc.ini)を編集して必要な接続プロパティを定義します。 ユーザー単位のDSN を作成することも可能で、その際には$HOME/.odbc.ini へのアクセスと変更は必要ではありません。

GMO MakeShop に接続するには、MembersAccessCode、OrdersAccessCode、ProductsAccessCode、およびShopId が必要です。

GMO MakeShop へのアクセスの設定

MembersAccessCode、OrdersAccessCode、ProductsAccessCode、およびShopId を取得するには、以下の手順に従ってください。

  • GMO MakeShop には各API のAccessCode が必要です。
  • GMO MakeShop Store Manager にログインし、メニューの[ショップ作成]をクリックします。
  • 左ナビゲーションメニューの[外部システム連携]から任意の連携対象設定ををクリックします(メニューに表示されない場合は別途GMO MakeShop にご確認ください)。
  • 商品データ連携設定の場合:認証コードの[発行]ボタンをクリックし、ProductsAccessCode を取得します。
  • 注文データ連携設定の場合:最初に[注文情報参照]と[注文情報変更]の設定を選択します。選択後、認証コードの[発行]ボタンをクリックし、OrdersAccessCode を取得します。
  • 会員データ連携設定の場合:最初に[会員情報の(参照・登録・変更・削除)]の設定を選択します。選択後、認証コードの[発行]ボタンをクリックし、MembersAccessCode を取得します。
  • 会員認証連携設定の場合:認証コードの[発行]ボタンをクリックし、ProductsAccessCode を取得します。

GMO MakeShop アカウントの認証

次の接続プロパティを設定して接続します。

  • ShopId:接続先のGMO MakeShop Store ID を設定。GMO MakeShop Store ID はログイン用の ID と同じです。
  • OrdersAccessCode:[注文データ連携設定]から取得した[認証コード]を設定。このプロパティは Orders テーブルにアクセスする場合に必要です。
  • ProductsAccessCode:[商品データ連携設定]から取得した[認証コード]を設定。このプロパティは Products テーブルにアクセスする場合に必要です。
  • MembersAccessCode:[会員データ連携設定]から取得した[認証コード]を設定。このプロパティは Members テーブルにアクセスする場合に必要です。
  • MemberAuthenticationCode:[会員認証連携設定]から取得した[認証コード]を設定。このプロパティは MemberAuthenticationConfirm を実行する場合に必要です。
  • Password:GMO MakeShop Store Manager のログインユーザーのパスワードを指定。このプロパティは ProductCategoryRegistrationOrModification,ProductMemberGroupPriceRegistrationOrModification,ProductOptionRegistrationOrModification,ProductRegistrationOrModification を実行する場合に必要です。

/etc/odbc.ini or $HOME/.odbc.ini

[CData GMOMakeShop Source] Driver = CData ODBC Driver for GMO MakeShop Description = My Description ShopId = MyShopId ProductsAccessCode = MyProductsAccessCode MembersAccessCode = MyMembersAccessCode OrdersAccessCode = MyOrdersAccessCode

これらのコンフィギュレーションファイルの使い方についての詳細は、インストールされるヘルプドキュメントを参照してください。

GMO MakeShop データに連携するGo アプリケーションサンプルの作成

Driver Manager のインストール、DSN 設定を終えたら、GMO MakeShop data に連携するGo アプリケーションを作成します。 まずはODBC データベース向けのGo ドライバーをインストールします。いくつかのオプションがありますが、本記事ではhttps://github.com/alexbrainman/odbc のODBC ドライバーを使います。

Linux へのODBC のインストール

Go のODBC ドライバーをインストールするには、GOPATH 環境変数を定義する必要があります:

export GOPATH=$HOME/golang/go

GOPATH が定義されたら、ODBC ドライバー向けのGo ドライバーをインストールすることが可能です:

$ go get github.com/alexbrainman/odbc

これでGo アプリケーションを作って実行する準備ができました。

Go アプリケーションサンプル

このサンプルアプリケーションはGMO MakeShop data に対してシンプルなSQL SELECT クエリを発行し、結果を表示します。$GOPATH/src/cdata-odbc-gmomakeshop ディレクトリを作成し、次のソースコードをコピーして新しいGo ファイルを作成します。

cdata-odbc-gmomakeshop.go

package main import ( _ "github.com/alexbrainman/odbc" "database/sql" "log" "fmt" ) func main() { db, err := sql.Open("odbc", "DSN=CData GMOMakeShop Source") if err != nil { log.Fatal(err) } var ( brandcode string price string ) rows, err := db.Query("SELECT BrandCode, Price FROM Products WHERE BrandCode = ?", "99a87c0x3") if err != nil { log.Fatal(err) } defer rows.Close() for rows.Next() { err := rows.Scan(&brandcode, &price) if err != nil { log.Fatal(err) } fmt.Println(brandcode, price) } err = rows.Err() if err != nil { log.Fatal(err) } defer db.Close() }

ターミナルで、Go アプリケーションディレクトリにナビゲートし、アプリケーションをビルドします:

$ go build

アプリケーションのビルド後、アプリケーションを実行し、GMO MakeShop のデータを表示することができます:

$ ./cdata-odbc-gmomakeshop

これでGMO MakeShop と連携するシンプルなGo アプリケーションができました。ここに、より複雑なread/write 機能を使い慣れたSQL 文で足してみてください。

 
 
ダウンロード