お客様からよく相談をいただく、Google Spreadsheet からkintone データをリアルタイムで参照する方法を紹介します。2020年12月以降利用できるようになった本ソリューションのクラウド版「CData Connect」はコチラ をご参照ください。
kintone からCSV で落としてからGoogle Spreadsheet にアップロードする方法だと、kintone 側に変更があるたびにデータのロードの手間がかかります。CData API Server を使うことで、Google Spreadsheet から=importData() 関数を使って、リアルタイムkintone データを取得し、リフレッシュすることができるようになります。Google Spreadsheet のImport 関数は、OData とう形式のREST API を取得することが可能です。kintone のREST API はOData 形式ではないため、CData API Server でkintone アプリをOData エンドポイントにして公開することで、Google Spreadsheet からの参照が可能になります。
kintone データをリアルタイムでGoogle Sheet から参照
API Server およびkintone Driver をインストール
CData API Server は、RDB など多様なデータソースを本格的なREST API (OData)エンドポイントとして公開することができる、サーバーソフトウェアです。30日の無償試用版を使うことができます。Windows 版とJava 版があります。お好きなバージョンをインストールしてください。
www.cdata.com
次にkintone Driver をインストールします。こちらも30日の無償版があります。API Server がWindows 版の時はADO.NET Data Provider for kintone、API Server がJava 版の場合には、JDBC Driver for kintone をインストールしてください。
https://www.cdata.com/jp/drivers/kintone/download/
API Server にkintone をデータソースとして設定
API Server をインストールすると組み込みサーバーで起動します。もちろんIIS やTomcat でホストすることも可能です。注意点としては、Google Spreadsheet からのアクセスになりますので、API Server はInternet Facing な環境にホストしておく必要があります。
ブラウザから管理コンソールにログインします。
kintone をAPI Server のデータソースに設定する
[設定]→[接続]とナビゲートします。上のプロセスでkintone Driver をインストールしているので、kintone のアイコンがありますのでkintone アイコンをクリックします。
kintone をAPI Server のデータソースに選択
接続設定画面で、kintone に接続します。User、Password、およびkintone のURL を入力することでkintone API に接続が可能になります。
kintone に接続
入力したら接続テストとクリックして、接続を確認します。OK であれば、設定を保存します。
認証トークンをクエリ文字列で渡せるようにする
Google Sheet からの接続のための注意点としては、[クエリ文字列パラメータとして認証トークンを使用する]設定を行う必要があります。
cdn.cdata.com
クエリ文字列パラメータとして認証トークンを使用する
HTTP フォームポストデータ、もしくはクエリパラメータの一部として提供される_@authtoken_ パラメータの値として認証トークンを指定することができます。ただし、デフォルトではAPI Server はクエリ文字列パラメータにおいて認証トークンを渡すことをサポートしていません。
settings.cfg のアプリケーションセクションにて、次のオプションを設定することで有効化できます。
[Application]
AllowAuthtokenInURL = true
Google Spreadsheet で利用するkintone アプリをエンドポイントとして設定
[設定]→[リソース]からkintone のどのアプリをOData エンドポイントとして公開するかを設定します。先ほど作成したkintone の接続を選択します。
kintone のリソース設定
kintone のアプリをリストから選択します。
選択したkintone アプリのどのフィールドを公開するかをチェックして選択します。
これで選択したkintone アプリがCData API Server でOData エンドポイントとして公開されました。
Google Spreadsheet からkintone(API Server)データを参照
新しいGoogle Spreadsheet を開きます。kintone データをインポートする左上のセルを選択します。そこにimportData() 関数を入力します。
=ImportData("https://your-server/api.rsc/Comments?@csv&@authtoken=your-authtoken")
エンドポイントURL をAPI Server のドキュメントからコピーします。authtoken はAPI Server の[ユーザー]を作成し、生成されたトークンを使います。
すぐにImportData 関数が走り、kintone データをテーブル形式でGoogle Spreadsheet 上に取得できました。一度設定しておけば、Google Spreadsheet がデータをリフレッシュして最新のkintone のデータを取得することができます。
Google Spreadsheet からリアルタイムkintone データを取得
関連コンテンツ