Sign In

doGet 등 Apps Script 함수

taesangeom

doGet 함수

doGet 함수는 웹 앱의 GET 요청을 처리합니다. 이 함수를 사용하여 데이터를 조회하거나 표시할 수 있습니다.
function doGet(e) {
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  var data = sheet.getDataRange().getValues();

  return ContentService.createTextOutput(JSON.stringify(data))
    .setMimeType(ContentService.MimeType.JSON);
}

doPost 함수

doPost 함수는 POST 요청을 처리합니다. 이 함수를 사용하여 데이터를 시트에 추가할 수 있습니다.
function doPost(e) {
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  var data = JSON.parse(e.postData.contents);
  
  sheet.appendRow([data.name, data.email, data.message]);
  
  return ContentService.createTextOutput("Data added successfully")
    .setMimeType(ContentService.MimeType.TEXT);
}

API를 통해 데이터 가져오기

외부 API에서 데이터를 가져와 시트에 추가하는 함수입니다.
function fetchDataFromApi() {
  var url = "https://api.example.com/data";
  var response = UrlFetchApp.fetch(url);
  var data = JSON.parse(response.getContentText());
  
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  data.forEach(function(item) {
    sheet.appendRow([item.id, item.name, item.value]);
  });
}

시트 데이터를 API로 전송하기

function sendDataToApi() {
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  var data = sheet.getDataRange().getValues();
  
  var url = "https://api.example.com/update";
  var options = {
    'method': 'post',
    'contentType': 'application/json',
    'payload': JSON.stringify(data)
  };
  
  var response = UrlFetchApp.fetch(url, options);
  Logger.log(response.getContentText());
}

주기적으로 API 호출하기

function setupTrigger() {
  ScriptApp.newTrigger('updateDataPeriodically')
    .timeBased()
    .everyHours(1)
    .create();
}

function updateDataPeriodically() {
  var url = "https://api.example.com/data";
  var response = UrlFetchApp.fetch(url);
  var data = JSON.parse(response.getContentText());
  
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  sheet.clear();
  sheet.appendRow(['ID', 'Name', 'Value']); // 헤더 추가
  
  data.forEach(function(item) {
    sheet.appendRow([item.id, item.name, item.value]);
  });
}
taesangeom
Subscribe to 'taesangeom'
Subscribe to my site to be the first to receive notifications and emails about the latest updates, including new posts.
Join Slashpage and subscribe to 'taesangeom'!
Subscribe
👍