Apps Scriptリファレンス: Apps Script Reference |障害・課題追跡: IssueTracker |Google Workspace: Status Dashboard - Summary

2018年12月15日土曜日

Google Apps Script側でAPIを用意してJSONを返したい


Google Apps Scriptで作ったWebアプリのURLにアクセスしたらJSONを返すという仕組みを作りたくて試したコードです。


コードだけ先に書いておきます

APIを提供する側のコード

コード.gs
function doGet () {
    var data =  {key1:"value1"};
    var json = JSON.stringify(data);
    return ContentService.createTextOutput(json)
    .setMimeType(ContentService.MimeType.JSON);
}
意訳
 
返したいデータを用意して
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の値をログに出す





以下は実際に試すときの手順です


APIを提供する側のコード


コード.gs
function 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

Latest post

Google Formsで記述式の質問に字数制限を設定したい

記述式の質問には「回答の検証」を設定することができます フォームの編集画面 右下の︙メニューで「回答の検証」を選択します 検証方法には「数値」「テキスト」「長さ」「正規表現」という種類があります 今回は字数制限したいので「長さ」を選びます 長さには「最大文字数」か「最小文字数」を...