ノーコードでクラウド上のデータとの連携を実現。
詳細はこちら →Google Sheets Driver の30日間無償トライアルをダウンロード
30日間の無償トライアルへ製品の詳細
Google Sheets JDBC Driver 相談したいJava アプリケーションをGoogle ドキュメントに保存されているスプレッドシートのリアルタイムデータに簡単に接続できます。Google スプレッドシートを使用して、アプリケーションの要となるデータを管理できます。
CData
こんにちは!ドライバー周りのヘルプドキュメントを担当している古川です。
CData JDBC Driver for GoogleSheets はJDBC 標準をサポートするビジネスインテリジェンスおよびデータマイニングツールからリアルタイムGoogle Sheets に接続することを可能にします。この記事では、Google Sheets をSpagoBI Studio のレポートに統合し、SpagoBI サーバーでホストする方法を説明します。
以下のステップに従ってSpagoBI サーバーでJDBC data source for GoogleSheets を作成します。
Google Sheets ドライバーリソースをコンテクストに追加します。以下のリソース定義をserver.xml の[GlobalNamingResources]要素に追加できます。
<Resource name="jdbc/googlesheets" auth="Container" type="javax.sql.DataSource" driverclassname="cdata.jdbc.googlesheets.GoogleSheetsDriver" factory="org.apache.tomcat.jdbc.pool.DataSourceFactory" maxactive="20" maxidle="10" maxwait="-1"/>
<ResourceLink global="jdbc/googlesheets" name="jdbc/googlesheets" type="javax.sql.DataSource"/>
SpagoBI サーバーのリソースにドライバーを追加した後、データソースを追加します。SpagoBIで[Resources]->[Data Source]->[Add]と進み、以下の情報を入力します。
スプレッドシートに接続するには、Google への認証を行い、Spreadsheet 接続プロパティにスプレッドシートの名前またはフィードリンクを設定します。Google Drive のスプレッドシートの情報一覧を表示したい場合は、認証後にSpreadsheets ビューにクエリを実行します。
ClientLogin(ユーザー名 / パスワード認証)は、2012年4月20日より正式に非推奨となり、現在は利用できません。代わりに、OAuth 2.0 認証規格を使用してください。 個々のユーザーに代わってGoogle API にアクセスするには、埋め込みクレデンシャルを使用するか、独自のOAuth アプリを登録します。
OAuth は、Google Apps ドメインのユーザーに代わって、サービスアカウントを使って接続することもできます。サービスアカウントで認証するには、OAuth JWT 値を取得するためのアプリケーションを登録する必要があります。
Google アカウント、Google Apps アカウント、二段階認証を使用するアカウントなど、様々なアカウントタイプでGoogle スプレッドシートに接続する方法は、ヘルプドキュメントの「はじめに」を参照してください。
JDBC URL の構成については、Google Sheets JDBC Driver に組み込まれている接続文字列デザイナを使用してください。JAR ファイルのダブルクリック、またはコマンドラインからJAR ファイルを実行します。
java -jar cdata.jdbc.googlesheets.jar
接続プロパティを入力し、接続文字列をクリップボードにコピーします。
以下は一般的なJDBC URL です。
jdbc:googlesheets:Spreadsheet=MySheet;InitiateOAuth=GETANDREFRESH
以下のステップに従い、SpagoBI StudioでGoogle Sheets に基づいたレポートを作成します。SQL クエリの結果をチャートに挿入するデータセットを作成します。次のセクションでは、このレポートをSpagoBI サーバーでホストします。
初めに、SpagoBI Studio のレポートからGoogle Sheets に接続してください。
jdbc:googlesheets:Spreadsheet=MySheet;InitiateOAuth=GETANDREFRESH
必要な接続プロパティを取得するためのガイドについては、ドライバーヘルプの[Getting Started]チャプターを見てください。
Google Sheets に接続した後、SQL クエリの結果を含むデータセットを作成します。
SELECT Shipcountry, SUM(OrderPrice) FROM Orders GROUP BY Shipcountry
データセットを使用して、レポートオブジェクトにデータを入力できます。以下のステップに従って、チャートを作成します。
以下のステップに従って、SpagoBI サーバーでリアルタイムGoogle Sheets に基づいてドキュメントをホストできます。前のセクションで作成したレポートをテンプレートとして使用します。レポートユーザーがリアルタイムデータにアクセスできるようにするには、サーバー上のGoogle Sheets JDBC データソースに置き換えられるプレースホルダパラメータを作成します。
[Property Binding]ノードで、JDBC Driver のURL バインディングプロパティurl パラメータに設定します。プロパティのボックスをクリックします。[Category]セクションで[Report Parameters]を選択します。[Subcategory]セクションで[All]を選択し、パラメータをダブルクリックします。
JavaScript構文に以下のように入力することもできます。
params["url"].value
続いて、SpagoBI サーバーでレポート用の新しいドキュメントを作成します。
[Template]セクションで、[Choose File]をクリックします。レポートプロジェクトを含むフォルダに移動します。.rptdesign ファイルを選択します。
Noteプロジェクトへのパスは、プロジェクトプロパティで確認できます。
サーバーでレポートを実行すると、プレースホルダurl パラメータがサーバーで定義されたJDBC URL に置き換えられます。