ノーコードでクラウド上のデータとの連携を実現。
詳細はこちら →Google Sheets Driver の30日間無償トライアルをダウンロード
30日間の無償トライアルへ製品の詳細
Google Sheets JDBC Driver 相談したいJava アプリケーションをGoogle ドキュメントに保存されているスプレッドシートのリアルタイムデータに簡単に接続できます。Google スプレッドシートを使用して、アプリケーションの要となるデータを管理できます。
CData
こんにちは!ウェブ担当の加藤です。マーケ関連のデータ分析や整備もやっています。
CData JDBC Driver for GoogleSheets は、Java Web アプリケーションに簡単に統合して利用することができます。本記事では、Jetty でドライバーをコネクションプールとして設定することで、効率的にGoogle Sheets データをアプリケーションで連携利用する方法を説明します。Jetty でJNDI resource for GoogleSheets を設定します。
次の手順で、Jetty とGoogle Sheets の接続を確立します。
Jetty ベースでJNDI モジュールを有効化します。JNDI を有効化するコマンドラインは以下の通り:
java -jar ../start.jar --add-to-startd=jndi
<Configure id='gsheetsdemo' class="org.eclipse.jetty.webapp.WebAppContext">
<New id="gsheetsdemo" class="org.eclipse.jetty.plus.jndi.Resource">
<Arg><Ref refid="gsheetsdemo"/></Arg>
<Arg>jdbc/gsheetsdb</Arg>
<Arg>
<New class="cdata.jdbc.googlesheets.GoogleSheetsDriver">
<Set name="url">jdbc:googlesheets:</Set>
<Set name="Spreadsheet">MySheet</Set>
</New>
</Arg>
</New>
</Configure>
スプレッドシートに接続するには、Google への認証を行い、Spreadsheet 接続プロパティにスプレッドシートの名前またはフィードリンクを設定します。Google Drive のスプレッドシートの情報一覧を表示したい場合は、認証後にSpreadsheets ビューにクエリを実行します。
ClientLogin(ユーザー名 / パスワード認証)は、2012年4月20日より正式に非推奨となり、現在は利用できません。代わりに、OAuth 2.0 認証規格を使用してください。 個々のユーザーに代わってGoogle API にアクセスするには、埋め込みクレデンシャルを使用するか、独自のOAuth アプリを登録します。
OAuth は、Google Apps ドメインのユーザーに代わって、サービスアカウントを使って接続することもできます。サービスアカウントで認証するには、OAuth JWT 値を取得するためのアプリケーションを登録する必要があります。
Google アカウント、Google Apps アカウント、二段階認証を使用するアカウントなど、様々なアカウントタイプでGoogle スプレッドシートに接続する方法は、ヘルプドキュメントの「はじめに」を参照してください。
Web xml でリソースを設定します:
jdbc/gsheetsdb
javax.sql.DataSource
Container
これで、java:comp/env/jdbc/gsheetsdb へのルックアップでGoogle Sheets データにアクセスできます:
InitialContext ctx = new InitialContext();
DataSource mygsheets = (DataSource)ctx.lookup("java:comp/env/jdbc/gsheetsdb");
ここでは、シンプルなコネクションプーリングシナリオでのドライバーの接続について説明しました。追加での連携ケースについては、Jetty ドキュメントのWorking with Jetty JNDI 参照してください。