見出し画像

スプレッドシート ✖️ GAS ✖️ kintone

最近ほんとに良く耳にするkintone。
データの収集や整理、業務改善ツール、案件管理や勤怠管理・・・
柔軟性・拡張性・汎用性などを兼ね備えた優れものサービス。
今回は結構な頻度で利用している、Googleスプレッドシートからkintoneへのデータ連携について記載します。
意外とピンポイントでのやり方ってすぐに出てこないもんですね!

本記事はこんな方におすすめ

・kintone利用中
・GASを触った事がある
・Googleスプレッドシートの内容にちょい加工してkintoneに取り込みたい

やりたい事

・Googleスプレッドシートの内容をkintoneに取り込みたい
・取り込み時にちょいデータ加工してkintoneに取り込みたい

手順(4Step)

たったの4Stepです!!!

1. kintoneアプリの準備
2. Googleスプレッドシート作成
3. GASの作成
4. Googleスプレッドシートから実行

手順1 kintoneアプリの準備

アプリを作成(サンプルでNo/Name/Ageのフィールドを用意)

スクリーンショット 2020-07-29 14.42.09

アプリの設定 > APIトークン でトークンの生成

スクリーンショット 2020-07-29 14.44.54

手順2 : Googleスプレッドシート作成

$C1 : kintoneアプリID (手順2で準備したアプリのID)
$D1 : kintone APIトークン (手順2で生成したAPIトークン)
2行目 : データヘッダ
3行目以降 : kintoneに登録したいデータ

スクリーンショット 2020-07-29 14.48.31

手順3 GASの作成

Googleスプレッドシートのメニューからスクリプトエディタを起動

スクリーンショット 2020-07-29 14.53.25

プロジェクト名や関数名、処理を記述

スクリーンショット 2020-07-29 14.55.42

実際のサンプルコードはこちら

function insertToKintone() {
 const spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
 const sheet = spreadsheet.getActiveSheet();
 let startRow = 3;
 let lastRow = sheet.getLastRow();
 let resultArray = [];
 let insertData = '['
 let appId = sheet.getRange(1, 3).getValue()
 let token = sheet.getRange(1, 4).getValue()
 for(let i = startRow; i <= lastRow; i++) {
   if (i > startRow) {
     insertData += ',';
   }
   insertData += Utilities.formatString('{"No": { "value": "%s"}', sheet.getRange(i, 1).getValue());
   insertData += ',' + Utilities.formatString('"Name": { "value": "%s" }', sheet.getRange(i, 2).getValue());
   insertData += ',' + Utilities.formatString('"Age": { "value": "%s" }}', sheet.getRange(i, 3).getValue());
 }
 insertData += ']';
 
 let records = JSON.parse(insertData);
 if (records.length) {
   var apps = {
     YOUR_APPLICATION1: {
       appid: appId,
       token: token
     }
   };
   var kintoneManager = new KintoneManager.KintoneManager("xxxxx", apps); // subdomain
   var response = kintoneManager.create("YOUR_APPLICATION1", records);
   var code = response.getResponseCode();  
   Logger.log("code", code);    
 }
}

kintoneライブラリの読み込み

プロジェクトキー:MDT2NQ9jkAGYJ-7ftp_A0v08CaFRWuzzx

スクリーンショット 2020-07-29 14.56.13

スクリーンショット 2020-07-30 1.06.37

手順4 Googleスプレッドシートから実行

手順3で作成したGASノの処理を実行する為のボタンを作成します!
挿入 > 図形描画

スクリーンショット 2020-07-29 14.57.11

スクリーンショット 2020-07-29 14.58.17

スクリーンショット 2020-07-29 14.58.31

保存して終了したら、スプレッドシートに図形が表示される

スクリーンショット 2020-07-29 14.48.31

ボタンメニュー表示(mac:2本指クリック / windows:右クリック)
(たての・・・です)

スクリーンショット 2020-07-29 15.00.32

スクリプトの割り当て
手順3で作成したGASの関数名を記述(insertToKintone)

スクリーンショット 2020-07-29 15.02.17

最後に「kintone登録」ボタンをクリック

kintoneアプリの確認

以下の通り、スプレッドシートに記載したデータが登録されています。

スクリーンショット 2020-07-29 15.06.23

拡張性

今回のサンプルでは、Googleスプレッドシートの項目をそのままkintoneに登録しましたが、手順3の中で書いたGASのfor文処理で、Googleスプレッドシートから読み込んだデータに加工する事で柔軟な対応が可能となります!

まとめ

いかがでしたでしょうか?
単純にGoogleスプレッドシートの内容をそのままkintoneに登録するだけなら、Googleスプレッドシートをエクセル/CSVに出力して、kintoneにImportすれば良いだけですが、登録時にデータを加工する場合には、上記のような少なく簡単な手順で実現する事ができます。

kintoneアプリ無料相談







この記事が気に入ったらサポートをしてみませんか?