GAS에서 자신의 트윗을 얻고 스프레드 시트에 기록하는 사람

갑자기 트위터를 지우고 싶은 경우를 대비하여 자신의 트윗을 Google 스프레드 시트에 기록해 두기로했습니다.

GAS에서 Twitter 게시 및 타임라인 획득
이 기사를 참고로 써 보았습니다.


이미지처럼 기록됩니다.

 var twitter = TwitterWebService.getInstance(
 '**********',       // 作成したアプリケーションのConsumer Key
 '**********'  // 作成したアプリケーションのConsumer Secret
);

// 認証を行う(必須)
function authorize() {
  twitter.authorize();
}

// 認証をリセット
function reset() {
  twitter.reset();
}

// 認証後のコールバック(必須)
function authCallback(request) {
  return twitter.authCallback(request);
}

function getMyTweets() {
  var service  = twitter.getService();
  var json = service.fetch("https://api.twitter.com/1.1/statuses/user_timeline.json?screen_name=ツイートを取得したいユーザーのid&count=30");
  var array = JSON.parse(json);

  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheetByName('ツイートを保存したいシートの名前');
  var lastRow = sheet.getLastRow() +1;
  var lastId = sheet.getRange("D2").getValue();

  for(var i = 0; i <= array.length -1; i++) {

    var int = parseInt(i);

    if(i === 0){
      var recId = array[int]["id"];
      sheet.getRange("D2").setValue(recId);
    }

     var id = array[int]["id"];

     if(id > lastId){
       var time = array[int]["created_at"];
       var text = array[int]["text"];

       sheet.getRange(lastRow,1).setValue(time);
       sheet.getRange(lastRow,2).setValue(text);
       sheet.getRange(lastRow,3).setValue(id); 
     }
    lastRow = lastRow + 1;
    }
  }

자신의 트윗을 최신의 녀석으로부터 30건까지 취득해, id가 이전 취득한 트윗보다 크면 스프레드시트에 기입한다……라고 하는 느낌입니다.

여기 다르다 ~ 라든지 더 좋은 쓰는 방법있어 ~라고하면 부담없이 댓글주세요.

좋은 웹페이지 즐겨찾기