製品をチェック

Google Sheets Driver の30日間無償トライアルをダウンロード

 30日間の無償トライアルへ

製品の詳細

Google Sheets アイコン Google Sheets JDBC Driver 相談したい

Java アプリケーションをGoogle ドキュメントに保存されているスプレッドシートのリアルタイムデータに簡単に接続できます。Google スプレッドシートを使用して、アプリケーションの要となるデータを管理できます。

JDBI からGoogle Sheets データ のデータアクセスオブジェクトを作成

JDBI でGoogle Sheets データ 用のSQL オブジェクトAPIを作成する方法を概説します。

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

最終更新日:2022-05-25
gsheets ロゴ

CData

jdbc ロゴ画像
JDBI ロゴ

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

JDBI は、Fluent スタイルとSQL オブジェクトスタイルという2つの異なるスタイルAPI を公開する、Java 用のSQL コンビニエンスライブラリです。CData JDBC Driver for GoogleSheets は、Java アプリケーションとリアルタイムGoogle Sheets データ のデータ連携を実現します。これらの技術を組み合わせることによって、Google Sheets データ へのシンプルなコードアクセスが可能になります。ここでは、基本的なDAO(Data Access Object )とそれに付随するGoogle Sheets データ の読み書きのためのコードの作成について説明します。

Google Sheets Orders Entity のDAO を作成

以下のインターフェースは、実装されるSQL ステートメントごとに単一のメソッドを作成するためのSQL オブジェクトの正しい動作を宣言します。

public interface MyOrdersDAO { //insert new data into Google Sheets @SqlUpdate("INSERT INTO Orders (ShipCity, OrderPrice) values (:shipCity, :orderPrice)") void insert(@Bind("shipCity") String shipCity, @Bind("orderPrice") String orderPrice); //request specific data from Google Sheets (String type is used for simplicity) @SqlQuery("SELECT OrderPrice FROM Orders WHERE ShipCity = :shipCity") String findOrderPriceByShipCity(@Bind("shipCity") String shipCity); /* * close with no args is used to close the connection */ void close(); }

Google Sheets への接続を開く

必要な接続プロパティを収集し、Google Sheets に接続するための適切なJDBC URL を作成します。

スプレッドシートに接続するには、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

接続プロパティを入力し、接続文字列をクリップボードにコピーします。

Using the built-in connection string designer to generate a JDBC URL (Salesforce is shown.)

Google Sheets の接続文字列は、通常次のようになります。

jdbc:googlesheets:Spreadsheet=MySheet;InitiateOAuth=GETANDREFRESH

構成済みのJDBC URL を使用して、DAO インターフェースのインスタンスを取得します。以下に示す特定のメソッドはインスタンスにバインドされたハンドルを開くため、ハンドルとバインドされたJDBC 接続を開放するには、インスタンスを明示的に閉じる必要があります。

DBI dbi = new DBI("jdbc:googlesheets:Spreadsheet=MySheet;InitiateOAuth=GETANDREFRESH"); MyOrdersDAO dao = dbi.open(MyOrdersDAO.class); //do stuff with the DAO dao.close();

Google Sheets データ について

Google Sheets への接続を開いた状態で以前定義したメソッドを呼び出すだけで、Google Sheets のOrders エンティティからデータを取得できます。

//disply the result of our 'find' method String orderPrice = dao.findOrderPriceByShipCity("Madrid"); System.out.println(orderPrice);

Google Sheets データ の書き方

以前定義した方法を使用すれば、Google Sheets にデータを書き込むことも簡単になります。

//add a new entry to the Orders entity dao.insert(newShipCity, newOrderPrice);

JDBI ライブラリはJDBC 接続を処理できるため、CData JDBC Driver for GoogleSheets と統合することで、SQL Object API for GoogleSheets を簡単に作成できます。今すぐ無料トライアルをダウンロードし、Java アプリケーションでリアルタイムGoogle Sheets を操作しましょう。

関連コンテンツ

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

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