各製品の資料を入手。
詳細はこちら →Linux 上でPipedrive のデータに接続するGo アプリケーションを作成する方法
CData ODBC Driver とunixODBC を使って、Pipedrive に連携するGo アプリケーションを作成。
最終更新日:2023-09-07
この記事で実現できるPipedrive 連携のシナリオ
こんにちは!ドライバー周りのヘルプドキュメントを担当している古川です。
Go はオープンソースのプログラミング言語で、高速かつ信頼性の高いソフトウェアを低コストで作成できるのが魅力です。Go とODBC Driver for Pipedrive およびunixODBC を組み合わせて使うことで、Pipedrive のデータにリアルタイムで 接続するアプリケーションを作成できます。本記事では、ODBC Driver for Pipedrive のインストール、unixODBC Driver Manager への設定、そしてPipedrive に連携するGo アプリケーションの作成までを説明します。
CData ODBC ドライバとは?
CData ODBC ドライバは、以下のような特徴を持った製品です。
- Pipedrive をはじめとする、CRM、MA、会計ツールなど多様なカテゴリの270種類以上のSaaS / オンプレデータソースに対応
- Go をはじめとする多様な開発ツールやノーコードアプリ、BI ツールにPipedrive のデータを連携
- ノーコードでの手軽な接続設定
CData ODBC ドライバでは、1.データソースとしてPipedrive の接続を設定、2.Go 側でODBC Driver との接続を設定、という2つのステップだけでデータソースに接続できます。以下に具体的な設定手順を説明します。
Linux マシンで CData ODBC Drivers を使用する
CData ODBC Drivers はUbuntu、Debian、RHEL、CentOS、およびFedora など多くのRed Hat ベースおよびDebian ベースのシステムでサポートされています。 ほかにもいくつかのライブラリやパッケージのインストールが必要ですが、すでにデフォルトでインストールされている場合もあります。詳細はオンラインおよびインストールされるヘルプドキュメントの「はじめに」のセクションを参照してください。
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
ドライバーのインストール
パッケージ形式でドライバーをダウンロードできます。.deb 形式もしくは、.rpm 形式で提供しています。 ファイルをダウンロードしたら、ターミナルからドライバーをインストールします。
ドライバーインストーラーはドライバーを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 Pipedrive
...
定義されたData Source の表示
$ odbcinst -q -s
CData Pipedrive Source
...
unixODBC でCData ODBC Driver for Pipedrive を使用するには、ドライバーがUTF-8 を使用するように設定する必要があります。それには、通常はインストールフォルダのlib フォルダ(/opt/cdata/cdata-odbc-driver-for-pipedrive)に入っているドライバーのINI ファイル(cdata.odbc.pipedrive.ini)を次のように編集する必要があります:
cdata.odbc.pipedrive.ini
...
[Driver]
DriverManagerEncoding = UTF-16
DSN の変更
ドライバーがインストールされると、システムDSN が事前定義されます。システムDSN はシステムデータソースファイル(/etc/odbc.ini)を編集して必要な接続プロパティを定義します。 ユーザー単位のDSN を作成することも可能で、その際には$HOME/.odbc.ini へのアクセスと変更は必要ありません
Pipedrive 接続プロパティの取得・設定方法
Pipedrive には、接続および認証する2つの方法があります。Basic およびOAuth です。
Basic 認証
Basic 認証で認証するには:- API トークンを取得します。
- Pipedrive ポータルを開きます。
- ページ右上のアカウント名をクリックします。Pipedrive はドロップダウンリストを表示します。
- 会社設定 -> Personal Preferences -> API -> Generate Token に移動します。
- 生成されたAPI トークンの値を記録します。また、CompanyDomain を控えておきます。これは、PipeDrive ホームページのURL に表示されます。(これは会社の開発者用サンドボックスのURL です。)
- 次の接続プロパティを設定します。
- APIToken:取得したAPI トークンの値。
- CompanyDomain:開発者サンドボックスURL のCompanyDomain。
- AuthScheme:Basic。
- 承認されたユーザー名とパスワードでログインします。
API トークンはPipedrive ポータルに保存されます。これを取得するには、会社名をクリックし、ドロップダウンリストを使用して会社設定 -> Personal Preferences -> API に移動します。
OAuth 認証
ユーザー名やパスワードへのアクセスを保有していない場合や、それらを使いたくない場合にはOAuth ユーザー同意フローを使用します。認証方法については、ヘルプドキュメントの「OAuth 認証」セクションを参照してください。
/etc/odbc.ini or $HOME/.odbc.ini
[CData Pipedrive Source]
Driver = CData ODBC Driver for Pipedrive
Description = My Description
AuthScheme = Basic
CompanyDomain = MyCompanyDomain
APIToken = MyAPIToken
これらのコンフィギュレーションファイルの使い方についての詳細は、インストールされるヘルプドキュメントを参照してください。
Pipedrive のデータに連携するGo アプリケーションサンプルの作成
Driver Manager のインストール、DSN 設定を終えたら、Pipedrive のデータ に連携する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 アプリケーションサンプル
このサンプルアプリケーションはPipedrive のデータ に対してシンプルなSQL SELECT クエリを発行し、結果を表示します。$GOPATH/src/cdata-odbc-pipedrive ディレクトリを作成し、次のソースコードをコピーして新しいGo ファイルを作成します。
cdata-odbc-pipedrive.go
package main
import (
_ "github.com/alexbrainman/odbc"
"database/sql"
"log"
"fmt"
)
func main() {
db, err := sql.Open("odbc",
"DSN=CData Pipedrive Source")
if err != nil {
log.Fatal(err)
}
var (
personname string
useremail string
)
rows, err := db.Query("SELECT PersonName, UserEmail FROM Deals WHERE Value = ?", "50000")
if err != nil {
log.Fatal(err)
}
defer rows.Close()
for rows.Next() {
err := rows.Scan(&personname, &useremail)
if err != nil {
log.Fatal(err)
}
fmt.Println(personname, useremail)
}
err = rows.Err()
if err != nil {
log.Fatal(err)
}
defer db.Close()
}
ターミナルでGo アプリケーションディレクトリに移動して、アプリケーションをビルドします。
$ go build
アプリケーションのビルド後、アプリケーションを実行してPipedrive のデータを表示することができます。
$ ./cdata-odbc-pipedrive
おわりに
このようにCData ODBC ドライバと併用することで、270を超えるSaaS、NoSQL データをGo から扱うことができます。30日の無償評価版が利用できますので、ぜひ自社で使っているクラウドサービスやNoSQL と合わせて活用してみてください。
日本のユーザー向けにCData ODBC ドライバは、UI の日本語化、ドキュメントの日本語化、日本語でのテクニカルサポートを提供しています。