glideapp와 GAS로 만드는 간단한 테스트 터미널 대출 도구

0. 소개



테스트 디바이스는 점점 늘어나고, 누가 사용하고 있는지 모르겠지요.
그럴 때 장치 대출 도구를 lowcode로 만들고 싶습니다.
재료는
- glideapps
- Google spreadsheet
- GAS

입니다

1. 데이터 준비



귀하의 테스트 단말기를 기반으로
Spread Sheet 준비
아래를 복사하여 "devices"라는 시트에 저장하십시오.
(
* 내용은 적절하게 변경하십시오
* images는 이해하기 쉽도록 장치의 사진을 찍어 두는 것이 좋습니다.
)


플랫폼
버전
id
vendor
장치
이미지
사용자
qrcode
api


iOS
8.4.1
1
Apple
iPhone 6



iOS
10.2.1
2
Apple
iPhone 6S



iOS
12.4.1
3
Apple
iPad mini 2



iOS
13.3
5
Apple
iPhone 7



...
...
...
...
...




이 시트가 만들어지면 "history"라는 시트를 비워 두십시오.

2. GAS 만들기





Code.gs를 아래에 다시 씁니다.
[Your spread sheet]를(를) 이 스프레드시트의 ID
[Your glide app]을 나중에 작성하는 glideapp의 ID
function doGet(e) {
  //parameter validation
  if(!e || !e.parameter || !e.parameter.id){
    return redirect();
  }
  var user           = Session.getActiveUser().getEmail();
  var devices        = SpreadsheetApp.openById("[Your spread sheet]").getSheetByName("devices");
  var history        = SpreadsheetApp.openById("[Your spread sheet]").getSheetByName("history");
  var historyLastRow = history.getDataRange().getLastRow();
  var values         = devices.getDataRange().getValues();
  var headers        = values.shift();

  var idColumn   = -1;
  var userColumn = -1;
  var targetRow  = -1;

  //find id column and user column
  headers.forEach(function(header,i){
    if(String(header) == "id"){
      idColumn = i;
    }else if(String(header) == "user"){
      userColumn = i;
    }
  });

  //find target row
  values.forEach(function(value,i){
    if(e.parameter.id == value[idColumn]){
      targetRow = i;
    }
  });

  //validate
  if(idColumn == -1 || userColumn == -1 || targetRow == -1){
    return redirect();
  }

  //edit the sheet
  var range = devices.getRange(targetRow+2,userColumn+1);
  if(range.getValue() == user){
    range.setValue("");
    range.setBackground("white");
    history.insertRowAfter(historyLastRow);
    history.getRange(historyLastRow+1,1,1,4).setValues([[
      e.parameter.id,user,(new Date()).toLocaleString(),"RETURN"
    ]]);
  }else if(range.getValue() == ""){
    range.setValue(user);
    range.setBackground("red");
    history.insertRowAfter(historyLastRow);
    history.getRange(historyLastRow+1,1,1,4).setValues([[
      e.parameter.id,user,(new Date()).toLocaleString(),"LOAN"
    ]]);
  }
  return redirect();
}

//redirect to glideapp
function redirect(){
  return HtmlService.createHtmlOutput(
    "<script>window.top.location.href='https://[Your glide app].glideapp.io/';</script>"
  );
}

3.GAS를 Deploy



Publish -> Deploy as web app


Deploy는 이렇게 설정합시다.
- Execute the app:User accessing the web app
- Who has access to the app: Anyone



Deploy하면
htps : // sc pt. 오, ぇ. 코 m / 마 c로 s / s / 왓 x / 에 c
의 부분을 메모

4. Spread Sheet의 api와 qrcode 만들기



api 부분은
=CONCAT("https://script.google.com/macros/s/XXXXXX/exec?id=",C2)

qrcode는 qrserver.com을 사용하여 아래와 같이 한다
=CONCAT("https://api.qrserver.com/v1/create-qr-code/?data=",ENCODEURL(I2))

5. glideapp 만들기



h tps://.ぃ 이고 ps. 코m/
에서 "From Google Sheet"선택



죄송합니다 glide는 좀처럼 설명하기 어려워서
데모에서 살펴보십시오.

좋은 웹페이지 즐겨찾기