各製品の資料を入手。
詳細はこちら →CData
こんにちは!ドライバー周りのヘルプドキュメントを担当している古川です。
Node.js はブラウザ上以外でJavaScript コードを使用できるJavaScript ランタイム環境です。CData ODBC Driver for GoogleSheets を使用すれば、Node.js アプリとスクリプトから、リアルタイムGoogle Sheets データにアクセスできます。この記事ではnode-odbc のインストールと、リアルタイムGoogle Sheets データへのアクセスが可能な、シンプルなNode.js アプリケーションを作成するために必要なツールについて説明します。
ビルトインの最適化されたデータ処理により、CData ODBC Driver は比類のないパフォーマンスで、Node.js のリアルタイムGoogle Sheets データとやりとりできます。Node.js からGoogle Sheets に複雑なSQL クエリを発行すると、ドライバーはフィルタや集計などのサポートされているSQL 操作をGoogle Sheets に直接プッシュし、組み込まれたSQL エンジンを利用してサポートされていない操作(主にSQL 関数とJOIN 操作)をクライアント側で処理します。
CData ODBC ドライバは、以下のような特徴を持ったリアルタイムデータ連携ソリューションです。
CData ODBC ドライバでは、1.データソースとしてGoogle Sheets の接続を設定、2.Node.js 側でODBC Driver との接続を設定、という2つのステップだけでデータソースに接続できます。以下に具体的な設定手順を説明します。
まずは、本記事右側のサイドバーからGoogleSheets ODBC Driver の無償トライアルをダウンロード・インストールしてください。30日間無償で、製品版の全機能が使用できます。
必要な接続プロパティの値が未入力の場合には、データソース名(DSN)で入力します。組み込みのMicrosoft ODBC Data Source Administrator を使用し、DSN を構成できます。ドライバーのインストールの最後にアドミニストレーターが開きます。Microsoft ODBC データソースアドミニストレーターを使ってDSN を作成および設定する方法は、ヘルプドキュメントの「はじめに」を参照してください。
スプレッドシートに接続するには、Google への認証を行い、Spreadsheet 接続プロパティにスプレッドシートの名前またはフィードリンクを設定します。Google Drive のスプレッドシートの情報一覧を表示したい場合は、認証後にSpreadsheets ビューにクエリを実行します。
ClientLogin(ユーザー名 / パスワード認証)は、2012年4月20日より正式に非推奨となり、現在は利用できません。代わりに、OAuth 2.0 認証規格を使用してください。 個々のユーザーに代わってGoogle API にアクセスするには、埋め込みクレデンシャルを使用するか、独自のOAuth アプリを登録します。
OAuth は、Google Apps ドメインのユーザーに代わって、サービスアカウントを使って接続することもできます。サービスアカウントで認証するには、OAuth JWT 値を取得するためのアプリケーションを登録する必要があります。
Google アカウント、Google Apps アカウント、二段階認証を使用するアカウントなど、様々なアカウントタイプでGoogle スプレッドシートに接続する方法は、ヘルプドキュメントの「はじめに」を参照してください。
CData ODBC Driver を介してGoogle Sheets に接続するには、必要なツールをインストールした後に、node-odbc を手動で構築する必要があります。
以下のコマンドでは、node-odbc の構築に必要なツールをインストールします。(ツールをグローバルにインストールする-g パラメータに注意してください。)
npm i -g windows-build-tools npm i -g node-gyp
必要なツールをインストールしたらNode.js アプリケーションのディレクトリを作成し、Node.js スクリプトで使用するバイナリを構築するodbc をインストールします。
mkdir nodeodbc cd nodeodbc npm i -g node
ODBC Driver がインストールされ、DSN が構成されて、node-odbc が構築されたら、Node.js アプリケーションからリアルタイムGoogle Sheets データをクエリすることができるようになります。以下のサンプルコードは、特定のDSN に接続してOrders テーブルをクエリします。
const odbc = require('odbc'); async function queryGoogleSheets() { const connection = await odbc.connect(`DSN=CData GoogleSheets Source`); const data = await connection.query('SELECT Shipcountry, OrderPrice FROM Orders'); console.log(data); } queryGoogleSheets();
アプリケーションを作成したら、node を使用してスクリプトを実行します。
node myscript.js
CData ODBC Driver for GoogleSheets の30日の無償評価版 をダウンロードすればNode.js でリアルタイムGoogle Sheets データを使用できます。ご不明な点があれば、サポートチームにお問い合わせください。