트윗을 ChangeLog 같은 형식으로 Spreadsheet에 기록하기

1일분의 트윗을 1엔트리(?)로 정리해 ChangeLog 같은 형식으로 Spradsheet에 저장한다.
2017-10-28 (土)

* tweet [Diary]:

00:00 hoge
01:15 fuga
02:30 MT @name @h0k0r0bi hogefuga
03:45 FV fugahoge

기록



IFTTT에서 자신의 트윗, 응답, 라이크를 spreadsheet에 기록

  • Trriger
  • Twitter
  • New Tweet by you (retweets, @replies )
  • New mention of you
  • New liked tweet by you



  • 액션
    각 트리거에 대해 설정
  • Google drive
  • Add row to spreadsheet



  • 성형



    GAS로 성형.
  • inputFormula () : 트윗의 시작 부분에 시간을 추가하는 형식이되는 표현식을 세 번째 열에 추가합니다.
  • copyTweets () : 다른 시트에 세 번째 열 복사
  • clearSheet(): 기록 시트 지우기
  • inputDate () : 날짜와 항목의 제목을 세 번째 열에 추가
  • function executePerDay() {
      inputFormula();
      copyTweets();
      clearSheet('Sheet1');
      inputDate();
    }
    
    function inputDate() {
      var sheet = SpreadsheetApp.getActive().getSheetByName('Sheet1');
      var d = new Date();
      var year = d.getFullYear();
      var month = d.getMonth() + 1;
      var day = d.getDate();
      var youbi = d.getDay();
      var youbis = ['', '', '', '', '', '', ''];
      sheet.appendRow(["", "Sep"]);
      sheet.appendRow(["", "", year + "-" + month + "-" + day + " (" + youbis[youbi] + ")"]);
      sheet.appendRow(["", "Sep"]);
      sheet.appendRow(["", "", "* tweet [Diary]:"]);
      sheet.appendRow(["", "Sep"]);
    }
    
    function inputFormula() {
      var sheet = SpreadsheetApp.getActive().getSheetByName('Sheet1');
      var lastRow = sheet.getLastRow();
      var range;
      for (var i = 1; i <= lastRow; i++) {
        range = sheet.getRange(i, 1);
        if (range.getValue() == "") {
          continue;
        }
        range = sheet.getRange(i, 3);
        if (range.getValue() == "") {
          range.setValue("=text(value((REGEXEXTRACT(A" + i + ",\"[^ ]+$\"))),\"HH:mm \") & B" + i);
        }
      }
    }
    
    function copyTweets() {
      var fromSheet = SpreadsheetApp.getActive().getSheetByName('Sheet1');
      var lastRow = fromSheet.getLastRow();
      var fromRange = fromSheet.getRange(1, 3, lastRow);
      var values = fromRange.getValues();
    
      var toSheet = SpreadsheetApp.getActive().getSheetByName('Sheet2');
      var toLastRow = toSheet.getLastRow();
      var toRange = toSheet.getRange(toLastRow + 2, 1, lastRow);
      toRange.setValues(values);
    }
    
    function clearSheet(sheetName) {
      var sheet = SpreadsheetApp.getActive().getSheetByName(sheetName);
      sheet.clearContents();
    }
    

    성형 실행 트리거



    하루 1회 0시 정도 실행.

    좋은 웹페이지 즐겨찾기