【GAS】スプレッドシートをデータベースにしてAPIでデータを取得する
スプレッドシートのデータを取得する方法です。過去にPHPでスプレッドシートのデータを操作する方法を投稿しましたが、今回はGoogle Apps Script と JavaScript を使います。
PHPでの取得方法はこちらから
GASの設定
function doGet(e) {
const sh = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("シート1")
const value = sh.getRange(1,1).getValue()
let result = {
data: value
}
let responseText;
let out = ContentService.createTextOutput();
let callback = e.parameter.callback;
if (callback) {
console.log(callback)
responseText = callback + "(" + JSON.stringify(result) + ")";
//Mime Typeをapplication/javascriptに設定
out.setMimeType(ContentService.MimeType.JAVASCRIPT);
} else {
responseText = JSON.stringify(result);
//Mime Typeをapplication/jsonに設定
out.setMimeType(ContentService.MimeType.JSON);
}
//JSONPテキストをセットする
out.setContent(responseText);
return out;
}
デプロイする
デプロイ → 新しいデプロイ を選択
ウェブアプリを選択肢、アクセスできるユーザーを制限します。
これを制限しないと、誰でもAPIを使えるようになってしまいます。
Java Script
JavaScriptでAPIを叩きます、jQueryを使用しています。
//ウェブアプリのURL
const endpoint = "https://script.google.com/a/macros/*********/exec";
$.ajax({
type: 'GET',
url: endpoint,
dataType: 'jsonp',
success: out => {
//ここにデータ取得後の処理を書く
alert(out.data);
},
error: out =>{
alert('error');
}
});
上記で完成です。意外と簡単に作成できますのでお試しください。
ディスカッション
コメント一覧
まだ、コメントがありません