JayDeBeApi を使って Python からTalkdesk のデータにアクセス
Python と Java がインストールされている環境であれば、Python スクリプトと標準 SQL を使ってTalkdesk のデータにアクセスできます。CData JDBC Driver for Talkdesk と JayDeBeApi モジュールを組み合わせることで、Python からリモートのTalkdesk のデータを操作できます。CData ドライバーを使用することで、業界標準に準拠した実績のあるドライバーを Python という人気の高い言語で活用できます。この記事では、ドライバーを使って Talkdesk に SQL クエリを実行し、標準的な Python でTalkdesk のデータを可視化する方法を説明します。
JayDeBeApi モジュールを使用
JayDeBeApi は、JDBC(Java Database Connectivity)のブリッジとして機能する Python ライブラリで、Python プログラムから CData JDBC ドライバーを含む Java データベースとやり取りできるようになります。pip install コマンドでモジュールをインストールします。
pip install JayDeBeApi
JDBC URL を作成
JayDeBeApi をインストールしたら、SQL を使って Python からTalkdesk のデータを操作する準備が整います。
Talkdesk では OAuth 2.0 の Client Credentials グラントを使用します。ブラウザでの認可ステップやコールバック URL は必要ありません。
以下の接続プロパティを設定します。
- AccountName:Talkdesk アカウントの名前。
- Region:Talkdesk インスタンスがデプロイされているリージョン。指定できる値は US(デフォルト)、EU、CA、AU、UK、FedRamp です。
- OAuthClientId:カスタム OAuth アプリケーションの登録時に割り当てられた Client Id。
- OAuthClientSecret:カスタム OAuth アプリケーションに割り当てられた Client Secret。
カスタム OAuth アプリケーションの作成
- Talkdesk アカウントにログインし、ナビゲーションメニューから OAuth Clients を選択します。
- Create OAuth Client をクリックし、クライアントにわかりやすい名前を付けます。
- Grant Type を Client Credentials に設定します。
- Add scopes をクリックし、アクセスしたいデータに応じたスコープを選択します。
- Create をクリックし、Client Id と Client Secret をコピーします。
接続時、ドライバーは Talkdesk にアクセストークンを自動でリクエストしてキャッシュし、有効期限が切れると更新します。アプリケーションで選択したスコープが、クエリ予定のビューに対応していることを確認してください。対応していない場合、トークンのリクエストが失敗することがあります。
ビルトイン接続文字列デザイナー
JDBC URL の作成には、Talkdesk JDBC Driver に組み込まれている接続文字列デザイナーを使用してください。JAR ファイルをダブルクリックするか、コマンドラインから実行します。
java -jar cdata.jdbc.talkdesk.jar
接続プロパティを入力し、接続文字列をクリップボードにコピーします。
以下は、一般的な JDBC 接続文字列を含む変数の例です。
jdbc_url = "jdbc:talkdesk:AccountName=myAccount;Region=US;OAuthClientId=myClientId;OAuthClientSecret=myClientSecret;"
Python からTalkdesk のデータにアクセス
JDBC URL を設定したら、あとは JDBC ドライバーの JAR ファイルへの絶対パスだけが必要です。これはインストールディレクトリの "lib" フォルダにあります(Windows では "C:\Program Files\CData\CData JDBC Driver for Talkdesk 20XX\lib\cdata.jdbc.talkdesk.jar")。
注意: まだ設定していない場合は、JAVA_HOME 環境変数を Java のインストールディレクトリに設定してください。
以下のようなコードで Talkdesk からデータを読み取り、表示できます。
import jaydebeapi
#The JDBC connection string
jdbc_url = "jdbc:talkdesk:AccountName=myAccount;Region=US;OAuthClientId=myClientId;OAuthClientSecret=myClientSecret;"
username = "****"
password = "****"
#The absolute Path to the JDBC driver JAR file, typically:
jdbc_driver_jar = "C:\Program Files\CData\CData JDBC Driver for Talkdesk 20XX\lib\cdata.jdbc.talkdesk.jar"
conn = jaydebeapi.connect(
"cdata.jdbc.talkdesk.TalkdeskDriver",
jdbc_url,
[username, password],
jdbc_driver_jar,
)
cursor = conn.cursor()
cursor.execute("SELECT * FROM Users;")
results = cursor.fetchall()
for row in results:
print(row)
cursor.close()
conn.close()
無料トライアルと詳細情報
CData JDBC Driver for Talkdesk の 30 日間無料トライアルをダウンロードして、Python でリアルタイムのTalkdesk のデータを操作してみてください。ご不明な点がございましたら、サポートチームまでお問い合わせください。