Zendesk のデータをR で分析:JDBC での接続

CData JDBC Driver で標準的なR 関数とお好みの開発環境を使ってZendesk を分析。

加藤龍彦
デジタルマーケティング

最終更新日:2023-09-21

この記事で実現できるZendesk 連携のシナリオ

こんにちは!ウェブ担当の加藤です。マーケ関連のデータ分析や整備もやっています。

CData JDBC Driver for Zendesk とRJDBC package を使って、R でリモートZendesk データ を利用できます。CData Driver を使うことで、業界が認めた基準で書かれたドライバーを活用して、オープンソースでポピュラーなR 言語のデータにアクセスできます。この記事では、ドライバーを使ってZendesk にSQL クエリを実行する方法、および標準R 関数を呼び出してZendesk をビジュアライズする方法について説明します。

R をインストール

マルチスレッドのMicrosoft R Open を実行すること、またはBLAS/LAPACK ライブラリにリンクされたオープン R を実行することによって、マルチスレッドおよびマネージドコードから利益を得られたドライバーのパフォーマンスにマッチできます。ここでは、Microsoft R Open 3.2.3 を使用します。CRAN レポジトリのJan. 1, 2016 snapshot からパッケージをインストールするために事前設定されています。このsnapshot は再現性を保証します。

RJDBC パッケージをロード

ドライバーを使うにはRJDBC パッケージをダウンロードします。RJDBC パッケージをインストールしたら、次のコードを入力してパッケージをロードします。

library(RJDBC)

JDBC データソースとしてZendesk に接続

下記の情報を使いZendesk にJDBC データソースとして接続します。

  • Driver Class:cdata.jdbc.zendesk.ZendeskDriver に設定。
  • Classpath:Driver JAR の場所を設定します。デフォルトではインストールディレクトリの[lib]サブフォルダです。

dbConnect やdbSendQuery のようなDBI 関数は、R にデータアクセスコードを書くための統一インターフェースを提供します。

driver <- JDBC(driverClass = "cdata.jdbc.zendesk.ZendeskDriver", classPath = "MyInstallationDir\lib\cdata.jdbc.zendesk.jar", identifier.quote = "'")

これで、DBI 関数を使ってZendesk に接続しSQL クエリを実行する準備が整いました。dbConnect 関数を使ってJDBC 接続を初期化します。一般的なJDBC 接続文字列は次のとおりです。

conn <- dbConnect(driver,"URL=https://subdomain.zendesk.com;[email protected];Password=test123;")

Zendesk 接続プロパティの取得・設定方法

Zendesk に接続するには、https://{subdomain}.zendesk.com の形式でURL(Zendesk Support URL)を設定します。接続後、次のセクションの説明に従ってユーザー認証を行います。

また、TicketMetrics テーブルのアーカイブデータを扱うユーザーは、UseIncrementalAPI プロパティをTrue に設定する必要があります。

Zendesk への認証

Zendesk は、Zendesk インスタンスの設定に応じて、3種類の認証をサポートします。API トークン認証、OAuth 認証、Basic 認証(レガシー)です。

API トークン認証

API トークン認証を使用する場合は、E メールアドレスとApiToken を指定します。 AuthSchemeAPIToken に、User をE メールアドレスに設定し、Zendesk Support の管理画面で以下の設定を行います。

  1. Token アクセスを有効にします。
  2. Admin -> Channels-> API で、API トークンを管理します。一度にアクティブにできるトークンは1つだけです。トークンを削除すると、そのトークンは永久に無効化されます。
最後に、APIToken をアクティブなAPI トークンに設定します。

その他の認証方法についてはヘルプドキュメントを参照してください。

スキーマ Discovery

ドライバーはZendesk API をリレーショナルデータベース、ビュー、ストアドプロシージャとしてモデルします。次のコードを使ってテーブルリストを検出します。

dbListTables(conn)

SQL クエリの実行

dbGetQuery 関数を使ってZendesk API がサポートするすべてのSQL クエリを実行できます:

tickets <- dbGetQuery(conn,"SELECT Id, Subject FROM Tickets")

次のコマンドを使って、結果を[data viewer]ウィンドウで見ることができます。

View(tickets)

Zendesk データ をプロット

CRAN レポジトリで利用可能なあらゆるデータ初期化パッケージを使ってZendesk を分析する準備が整いました。ビルトインバーのplot 関数を使って簡単なバーを作成できます。

par(las=2,ps=10,mar=c(5,15,4,2)) barplot(tickets$Subject, main="Zendesk Tickets", names.arg = tickets$Id, horiz=TRUE) A basic bar plot. (Salesforce is shown.)

関連コンテンツ

トライアル・お問い合わせ

30日間無償トライアルで、CData のリアルタイムデータ連携をフルにお試しいただけます。記事や製品についてのご質問があればお気軽にお問い合わせください。