Google Apps Script(GAS)를 통해 Autify 시나리오 요약

이 글은 자동 달력 수정 2021 넷째 날의 조목이다.
Autify를 사용하면 시나리오가 하루하루 늘어난다.올해 열심히 대본을 만들어서 한눈에 보고 싶어요.
단도직입적으로 말하면 Autifyscenario API를 이용하는 것은 가능하며 간단하고 알기 쉽게 한눈에 볼 수 있기를 바랍니다.
간단하고 알기 쉬운 일람표는 바로 전자 표다.
스프레드시트 하면 Google Sheets입니다.
Google Sheets는 GAS입니다!
따라서 본고는 GAS를 통해 방안을 일람하고 전자 표로 표시할 것이다.
미리 준비하다
Autify API 호출에는 다음 두 가지 정보가 필요합니다.
  • 개인 접속 영패
  • 프로젝트 ID
  • 개인 방문 영패는 프로젝트 설정 페이지에서 발표할 수 있습니다.공식 문서
    개인 액세스 토큰 발행 방법에 대한 설명이 있습니다.
    프로젝트 ID는 Autify 대시보드의 URL에 포함된 부분입니다.https://app.autify.com/projects/<この部分>/이 두 개를 각각 손 옆에 놓아라.
    스프레드시트 및 GAS 편집
    Google Sheets를 사용하여 새 스프레드시트를 만들고 Extensions -> Apps Script 에서 스크립트 편집기를 엽니다.
    이것은 주제 밖의 말Apps Script이다. 나는 얼마 전에 다른 메뉴에 있었던 것을 기억한다.시간 참 빠르네...

    스크립트 편집기를 열면 함수에 코드를 씁니다.
    최근 GAS에서는 스크립트에 사용된 변수를 키-value로 저장하는Property Service를 사용할 수 있습니다.
    https://developers.google.com/apps-script/guides/properties
    사전 준비된 개인 액세스 토큰과 프로젝트 ID도 설정할 수 있습니다.
      const scriptProperties = PropertiesService.getScriptProperties();
      scriptProperties.setProperty('AUTIFY_PERSONAL_ACCESS_TOKEN', '<パーソナルアクセストークン>');
      scriptProperties.setProperty('PROJECT_ID', '<プロジェクトID>');
    
    그런 다음 스프레드시트에 액세스하고 API를 호출하는 다음 정보를 정리합니다.
  • 객체에 대한 스프레드시트 가져오기
  • 실제 사용되는 스프레드시트 이름을 지정합니다.
  • API 호출 대상 URL 설정
  • API 호출에 필요한 옵션 설정
  •   const ss = SpreadsheetApp.getActiveSpreadsheet();
      const sheet = ss.getSheetByName('<スプレッドシートのシート名>');
    
      const token = PropertiesService.getScriptProperties().getProperty('AUTIFY_PERSONAL_ACCESS_TOKEN');
      const projectId = PropertiesService.getScriptProperties().getProperty('PROJECT_ID');
      const url = 'https://app.autify.com/api/v1/projects/' + projectId + "/scenarios";
    
      const options = {
        'method': 'get',
        'contentType': 'application/json',
        'headers': {
            'Authorization': 'Bearer ' + token
        },
      };
    
    그런 다음 API의 호출, 스프레드시트의 시작 부분을 실제로 씁니다.
    Autify의 scenario API는 1페이지당 30개의 데이터를 가져오므로 page 매개변수 값은 page=1, page=2, page=3입니다.이렇게 늘리면서 집행하면 모든 시나리오를 얻을 수 있다.
      for (let i = 1;;i++) {
        const response = UrlFetchApp.fetch(url + "?page=" + i, options);
        const json = response.getContentText();
        const data = JSON.parse(json);
        Logger.log(data)
        if (!data.length) {
          break;
        }
        data.forEach(d => {
          sheet.appendRow([d.name, d.project_url, d.created_at, d.updated_at]);
        });
      }
    
    그러고 보면 예전 GAS에서 ES6 이후 문법을 쓰면 욕을 먹었는데 2021년 말이 되니 지금은 괜찮을 것 같다.시간 참 빠르네...
    스크립트 실행
    스크립트를 처음 시도할 경우 워크시트 편집 권한과 외부 서비스 연결 (Autify API) 을 사용할 수 있습니다.
    내용을 잘 확인한 후에 허락해 주십시오.


    집행의 결과는...

    전자 표에 아래 항목이 순조롭게 열거되어 있는 것 같다!
  • 시나리오 이름
  • 시나리오의 URL
  • 시나리오 작성 시간
  • 시나리오의 업데이트 시간
  • 참고로 시나리오는 새로운 순서(제작 날짜의 내림차순)로 만들어졌으며, 낡은 순서 목록에서 얻으려면 얻은 데이터를 순서대로 삽입한 뒤 다시 배열해 쓸 수 있다.
    앞으로 이 시나리오 리스트가 최근에 추가되면방안의 설명문 최종 집행 날짜, 공교롭게도 시나리오의 과거 실행 횟수 등도 함께 따면 더 편할 것 같은데, 여러분은 어떠신가요?
    시간의 흐름...어쨌든 앞으로의 진화를 기대합니다!

    좋은 웹페이지 즐겨찾기