GASで複数のクラウドサービス間データ連携を自動化する

こんにちは、GASおじさんだよ!今日は、中小企業の経営者やフリーランスの諸君に朗報だ。おじさんの知る限り、多くの企業がクラウドサービスを使って業務を行っているが、それぞれのサービスが個別に存在するため、情報の連携に時間がかかるという声もよく耳にする。そこで今回は、Google Apps Script(GAS)を使って複数のクラウドサービス間データ連携を自動化する方法を紹介するぜ。
クラウドサービスのデータ連携を自動化するメリット
各種SaaSのAPIを駆使すれば、データの自動連携はさほど難しくない。まずは手動での作業時間を削減でき、時間当たりの人件費も浮かせることが可能だ。おじさんが以前にコンサルティングした中小企業では、1週間あたり10時間ものデータ移行作業が削減でき、年間で約50万円のコスト削減につながったんだ。
GASによる基本的なAPI連携
例えば、GoogleスプレッドシートへSalesforceからデータを取得し、自動的に更新するコードを見ていこう。SalesforceのAPIトークンを取得しているものとして進める。
function updateSpreadsheetFromSalesforce() {
const salesforceEndpoint = 'https://your.salesforce.instance/data/vXX.0/query?q=SELECT+Name,Email+FROM+Contact';
const accessToken = 'YOUR_ACCESS_TOKEN'; // 取得済みのトークンを入力
const options = {
'method': 'get',
'headers': {
'Authorization': 'Bearer ' + accessToken
}
};
const response = UrlFetchApp.fetch(salesforceEndpoint, options);
const data = JSON.parse(response.getContentText());
const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Contacts');
sheet.clear();
const header = ['Name', 'Email'];
sheet.appendRow(header);
data.records.forEach(record => {
sheet.appendRow([record.Name, record.Email]);
});
}
このスクリプトを定期実行することで、Salesforceから最新の顧客情報をスプレッドシートに自動で同期できるようになるよ。GASのトリガー機能を使えば、例えば毎日決まった時間に実行することも可能だ。
コストと時間の削減
この自動化により、手動で行っていたデータエントリーの時間を劇的に削減できる。仮に1時間当たりの人件費が3000円だとすると、年間で約120時間、すなわち36万円分の作業が削減される計算だ。非常に大きな効果が見込めるだろ?
自動化できることはたくさん
上記の例はほんの一部だが、同じ手法でさまざまなクラウドサービス間のデータ連携が可能だ。例えば、Google SheetsとSlackを連携させてみたり、Amazon S3と連携させてデータバックアップを取ったりと、アイデア次第で業務効率を大幅にアップさせることができる。
ここまで読んでくれてありがとう。もっとたくさんのGAS活用法を知りたいって?GASおじラボでは、500種類ものツールを使い放題にできるメンバーシップを用意しているから、ぜひチェックしてくれ!GASおじラボで500ツール使い放題 →
次回もお楽しみに!GASおじさんでした。