kintone データをノーコードでGoogle Spreadsheet からリアルタイム参照&リフレッシュ

by Jonathan Hikita | 2020年05月27日

お客様からよく相談をいただく、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 からの参照が可能になります。

f:id:cdatasoftware:20200526230521p:plain
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 アイコンをクリックします。

f:id:cdatasoftware:20200526231438p:plain
kintone をAPI Server のデータソースに選択

接続設定画面で、kintone に接続します。User、Password、およびkintone のURL を入力することでkintone API に接続が可能になります。

f:id:cdatasoftware:20200526231833p:plain
kintone に接続

入力したら接続テストとクリックして、接続を確認します。OK であれば、設定を保存します。

認証トークンをクエリ文字列で渡せるようにする

Google Sheet からの接続のための注意点としては、[クエリ文字列パラメータとして認証トークンを使用する]設定を行う必要があります。 cdn.cdata.com

クエリ文字列パラメータとして認証トークンを使用する HTTP フォームポストデータ、もしくはクエリパラメータの一部として提供される_@authtoken_ パラメータの値として認証トークンを指定することができます。ただし、デフォルトではAPI Server はクエリ文字列パラメータにおいて認証トークンを渡すことをサポートしていません。 settings.cfg のアプリケーションセクションにて、次のオプションを設定することで有効化できます。
[Application] AllowAuthtokenInURL = true

Google Spreadsheet で利用するkintone アプリをエンドポイントとして設定

[設定]→[リソース]からkintone のどのアプリをOData エンドポイントとして公開するかを設定します。先ほど作成したkintone の接続を選択します。

f:id:cdatasoftware:20200526232043p:plain
kintone のリソース設定

kintone のアプリをリストから選択します。 f:id:cdatasoftware:20200526232138p:plain

選択したkintone アプリのどのフィールドを公開するかをチェックして選択します。 f:id:cdatasoftware:20200526232215p:plain

これで選択した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 の[ユーザー]を作成し、生成されたトークンを使います。 f:id:cdatasoftware:20200526232605p:plain

すぐにImportData 関数が走り、kintone データをテーブル形式でGoogle Spreadsheet 上に取得できました。一度設定しておけば、Google Spreadsheet がデータをリフレッシュして最新のkintone のデータを取得することができます。

f:id:cdatasoftware:20200526233158p:plain
Google Spreadsheet からリアルタイムkintone データを取得

関連コンテンツ

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

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