Google Apps Scriptで作ったWebアプリのURLにアクセスしたらJSONを返すという仕組みを作りたくて試したコードです。
コードだけ先に書いておきます
APIを提供する側のコード
コード.gsfunction doGet () {
var data = {key1:"value1"};
var json = JSON.stringify(data);
return ContentService.createTextOutput(json)
.setMimeType(ContentService.MimeType.JSON);
}
| 意訳返したいデータを用意して JSONに変換して 返す |
APIを利用する側のコード
コード2.gsfunction getData() {
var url = 'https://script.google.com/macros/s/ID/exec'
var response = UrlFetchApp.fetch(url).getContentText();
Logger.log(response);
var jobj = JSON.parse(response);
Logger.log(jobj['key1']);
}
| 意訳この機能がやること アクセス先のURLを指定して データを取得して ログに出す JSONをオブジェクトに変換して key1の値をログに出す |
以下は実際に試すときの手順です
APIを提供する側のコード
コード.gsfunction doGet () {
var data = {key1:"value1"};
var json = JSON.stringify(data);
return ContentService.createTextOutput(json)
.setMimeType(ContentService.MimeType.JSON);
}
| 意訳返したいデータを用意して JSONに変換して 返す |
公開 > ウェブアプリケーションとして導入して
アクセスできるユーザを全員(匿名ユーザを含む)にして導入します
このURLにアクセスするとdataがJSONで返ってきます
APIを利用する側のコード
コード2.gs
function getData() {
var url = 'https://script.google.com/macros/s/ID/exec'
var response = UrlFetchApp.fetch(url).getContentText();
Logger.log(response);
var jobj = JSON.parse(response);
Logger.log(jobj['key1']);
}
|
意訳この機能がやること アクセス先のURLを指定して データを取得して ログに出す JSONをオブジェクトに変換して key1の値をログに出す |
実行 > 関数を実行 > getDataを選択します
許可を確認をクリックします
自分のアカウントを選択します
許可をクリックします
ログを見ると
このように取得できています
参考
Class ContentService
https://developers.google.com/apps-script/reference/content/content-service








