ノーコードでクラウド上のデータとの連携を実現。
詳細はこちら →Google Sheets Driver の30日間無償トライアルをダウンロード
30日間の無償トライアルへ製品の詳細
Google Sheets JDBC Driver 相談したいJava アプリケーションをGoogle ドキュメントに保存されているスプレッドシートのリアルタイムデータに簡単に接続できます。Google スプレッドシートを使用して、アプリケーションの要となるデータを管理できます。
こんにちは!ウェブ担当の加藤です。マーケ関連のデータ分析や整備もやっています。
CData JDBC Driver for GoogleSheets は、ColdFusion のrapid development tools を使ってGoogle Sheets への接続をシームレスに統合します。この記事では、ColdFusion でGoogle Sheets に連携しGoogle Sheets テーブルをクエリする方法を説明します。
下記の手順に従ってGoogle Sheets データソースを作成し、ColdFusion アプリケーションへの連携を可能にします。
ドライバーのJAR および.lic ファイルを、インストールディレクトリから C:\ColdFusion10\cfusion\wwwroot\WEB-INF\lib にコピーします。
ドライバーのJAR およびlicense はインストールディレクトリの[lib]サブフォルダに配置されています。
ドライバーをデータソースとして追加:
ColdFusion Administrator インターフェースで[Data & Services]ノードを展開し、[Data Sources]>[Add New Data Source]をクリックします。ダイアログが表示されたら、以下のプロパティを入力します。
JDBC Driver のプロパティ設定:
JDBC URL:JDBC URL に接続プロパティを入力。JDBC のURL は以下で始まり jdbc:googlesheets: 次に、セミコロン区切りでname=value ペアの接続プロパティを入力します。以下は一般的なJDBC URL です:
jdbc:googlesheets:Spreadsheet=MySheet;
スプレッドシートに接続するには、Google への認証を行い、Spreadsheet 接続プロパティにスプレッドシートの名前またはフィードリンクを設定します。Google Drive のスプレッドシートの情報一覧を表示したい場合は、認証後にSpreadsheets ビューにクエリを実行します。
ClientLogin(ユーザー名 / パスワード認証)は、2012年4月20日より正式に非推奨となり、現在は利用できません。代わりに、OAuth 2.0 認証規格を使用してください。 個々のユーザーに代わってGoogle API にアクセスするには、埋め込みクレデンシャルを使用するか、独自のOAuth アプリを登録します。
OAuth は、Google Apps ドメインのユーザーに代わって、サービスアカウントを使って接続することもできます。サービスアカウントで認証するには、OAuth JWT 値を取得するためのアプリケーションを登録する必要があります。
Google アカウント、Google Apps アカウント、二段階認証を使用するアカウントなど、様々なアカウントタイプでGoogle スプレッドシートに接続する方法は、ヘルプドキュメントの「はじめに」を参照してください。
[Actions] カラムのCData Google Sheets データソースを有効にして、接続をテストできます。ステータスがOK になったら、Google Sheets データソースを使うことができます。
下記の手順に従って、Google Sheets の基準に合ったレコードをクエリし、結果をHTML テーブルに出力する簡単なアプリケーションを作成します。
新規ColdFusion markup ファイルでクエリを定義:C:\ColdFusion10\cfusion\wwwroot directory for ColdFusion の.cfm ファイルに次のコードを入力:
<cfquery name="GoogleSheetsQuery" dataSource="CDataGoogleSheets">
SELECT * FROM Orders
</cfquery>
Note:CData JDBC Drivers は、cfqueryparam エレメントを使ってパラメータ化されたクエリもサポートします。例:
<cfquery name="GoogleSheetsQuery" dataSource="CDataGoogleSheets">
SELECT * FROM Orders WHERE ShipCity = <cfqueryparam>Madrid</cfqueryparam>
</cfquery>
CFTable を使ってHTML にテーブルを出力:
<cftable
query = "GoogleSheetsQuery"
border = "1"
colHeaders
colSpacing = "2"
headerLines = "2"
HTMLTable
maxRows = "500"
startRow = "1"/>
<cfcol header="<b>Shipcountry</b>" align="Left" width=11 text="#Shipcountry#"></cfcol>
<cfcol header="<b>OrderPrice</b>" align="Left" width=10 text="#OrderPrice#"></cfcol>
</cftable>
コードを実行してグリッドを表示します。
HTML 部分を含む以下のフルコードが利用できます。
<html>
<head><title>Hello World</title></head>
<body>
<cfoutput>#ucase("hello world")#</cfoutput>
<cfquery name="GoogleSheetsQuery" dataSource="CDataGoogleSheets">
SELECT * FROM Orders
</cfquery>
<cftable
query = "GoogleSheetsQuery"
border = "1"
colHeaders
colSpacing = "2"
headerLines = "2"
HTMLTable
maxRows = "500"
startRow = "1">
<cfcol header="<b>Shipcountry</b>" align="Left" width=11 text="#Shipcountry#"></cfcol>
<cfcol header="<b>OrderPrice</b>" align="Left" width=10 text="#OrderPrice#"></cfcol>
</cftable>
</body>
</html>