좋아하는 트윗을 좋아하는 사람의 수와 리트윗의 수와 함께 스프레드 시트에 기록하는 사람

특정 사용자의 좋아하는 트윗 목록을 트윗에 붙은 좋아하는 수와 리트윗 수도 함께 기록하고 싶어졌습니다. 트리거 기능을 사용하면 정기적으로 좋아하는 것이 기록됩니다.

GAS에서 자신의 트윗을 얻고 스프레드 시트에 기록하는 사람
이 기사도 함께 읽으면 알기 쉬울지도 모릅니다.



이렇게 기록됩니다.


function getFav(){
  var service  = twitter.getService();
  var json = service.fetch("https://api.twitter.com/1.1/favorites/list.json?screen_name=いいねを取得したいアカウントのscreen name&count=100");
  var array = JSON.parse(json);

  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheetByName('いいねを記録したいシートの名前');
  var lastRow = sheet.getLastRow() +1;
  var lastId = sheet.getRange("F2").getValue();

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

    var int = parseInt(i);

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

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

     if(id > lastId){
       var time = array[int]["created_at"];
       var userId = array[int]["user"]["id_str"];
       var json = service.fetch("https://api.twitter.com/1.1/users/show.json?user_id="+userId+"&include_entities=false");
       var array2 = JSON.parse(json);
       var screenName = array2["screen_name"];
       var text = array[int]["text"];
       var favorite_count = array[int]["favorite_count"];
       var retweet_count = array[int]["retweet_count"];


       sheet.getRange(lastRow,1).setValue(time);
       sheet.getRange(lastRow,2).setValue(screenName);
       sheet.getRange(lastRow,3).setValue(text);
       sheet.getRange(lastRow,4).setValue(favorite_count);
       sheet.getRange(lastRow,5).setValue(retweet_count);
       sheet.getRange(lastRow,6).setValue(id);
     }
    lastRow = lastRow + 1;
    }


좋아하는 것을 100건 취득하고, id가 이전에 기록한 트윗보다 크면 기록한다…라고 하는 느낌입니다.
뭔가 있으면 부담없이 코멘트 해주세요.

좋은 웹페이지 즐겨찾기