앱스 스크립트 사용법 (2) SNS 팔로워 수를 기록하기

이번에는 구글 앱스 스크립트를 사용하여 매일 날짜와 함께 특정 셀의 데이터를 기록하는 시트를 만들어 보겠습니다.

개요

이번 샘플 시트는 실제로 회사에서 활용하고 있는 시트입니다.
SNS의 팔로워 수를 기록하여 팔로워 추이를 확인 할 수 있는 시트입니다.

  1. IMPORTXML 이라는 함수를 포함하여 다양한 함수를 조합하여 SNS의 팔로워 수를 얻어온다.
  2. 얻어온 팔로우 수 데이터를 맨 아래 열에 기록하는 앱스 스크립트를 작성한다.
  3. 실행 트리거를 설정하여 매일 팔로우 수 데이터를 기록한다.

★샘플 스프레드시트
https://docs.google.com/spreadsheets/d/1Dohpb5RKPW93q9Dm5bOwfdnH-F51zXBwyeh5pppz2fA/edit?usp=sharing

SNS 팔로워 얻어오기

snsfollower01

URL 칸에 SNS의 URL을 입력합니다. 예시에서는 청와대에서 운영하는 SNS 주소를 입력했습니다.

NOW 칸에는 SNS별 팔로워 수를 얻어오는 함수를 넣습니다.

Facebook

snsfollower04

Instagram

snsfollower05
※ 안타깝게도 인스타그램은 천단위가 넘어가면 상세 숫자를 얻어오지 못하고, k단위로만 얻어올 수 있습니다.
(상세 숫자를 얻어오는 방법을 아시는 분은 답글남겨주세요ㅠ)

Twitter

snsfollower06

Youtube (채널 구독자 수)

snsfollower07

※ 주의사항: 원인은 잘 모르겠습니다만, 가끔 오류가 발생하기도 합니다. 시간이 지나면 사라지기도 하니 입력 후 오류가 사라질때까지 조금 기다려주시기 바랍니다.snsfollower02

* 참고 자료
팔로워 수를 얻어오는 함수는 다른 블로그를 참고하였습니다.
소셜미디어 팔로워 숫자 구글 스프레드시트로 한번에 관리하기

스크립트 작성

메뉴에서 도구 > 스크립트 편집기 를 클릭합니다.

snsfollower08

스크립트 편집 화면에 아래 코드를 넣고 저장합니다.

function myFunction() {
 var sheet = SpreadsheetApp.getActiveSheet();
 
 // Get Number of SNS follower
 var follower_facebook = sheet.getRange(3, 2).getValues();
 var follower_instagram = sheet.getRange(3, 3).getValues();
 var follower_twitter = sheet.getRange(3, 4).getValues();
 var follower_kakao = sheet.getRange(3, 5).getValues();
 
 var datarange = sheet.getDataRange();
 var startRows = datarange.getNumRows();
 var numRows = startRows +1;
 
 // Date of today
 var dayToday = new Date();
 
 // write Date
 sheet.getRange(numRows, 1).setValue(formatYMD(dayToday)); 
 // write Number of SNS
 sheet.getRange(numRows, 2).setValue(follower_facebook);
 sheet.getRange(numRows, 3).setValue(follower_instagram);
 sheet.getRange(numRows, 4).setValue(follower_twitter);
 sheet.getRange(numRows, 5).setValue(follower_kakao);
 
}

function formatYMD(date) {
 var formattedDate = Utilities.formatDate(date, "GMT", "yyyy-MM-dd");
 
 return formattedDate;
}

프로젝트 이름은 record_sns_follower 라고 저장합니다. snsfollower09

함수가 두개가 넘어가면 ▶(실행)버튼이 비활성화 되기도 합니다.
당황하지말고, 실행 > 함수 실행 > myFunction 메뉴로 실행합니다. snsfollower10

처음 실행하실 때, 권한 요청을 해옵니다. 실행을 허용해주세요. (자세한 스샷은 생략합니다.)

실행 후, 시트에 돌아가서 7번째 열에 실행한 날짜와 실행 당시의 팔로워 수가 기록된 것을 확인합니다. snsfollower11

가장 마지막 열을 확인하여 기록할 열을 계산해둡니다. 예시에서는 6열 + 1 = 7열.
3열 2행(B)의 데이터를 7열, 2행(B)으로,
3열 3행(C)의 데이터를 7열, 3행(C)으로,
3열 4행(D)의 데이터를 7열, 4행(D)으로,
3열 5행(E)의 데이터를 7열, 5행(E)으로 복사하는 코드입니다.

트리거 설정

코드에 문제가 없다면, 트리거를 설정해줍니다.
시계모양 아이콘으로 된 (현재 프로젝트의 트리거) 버튼을 클릭합니다.

snsfollower12

원하는 시간대를 설정 후 [저장]을 클릭합니다.

snsfollower13예시에서는 매일 자정~오전1시 사이에 실행되도록 설정했습니다.

이렇게 트리거를 설정해두면 매일 3열의 당시의 각 SNS 팔로워 수 데이터를 제일 아래 열에 복사해줍니다.

완성

완성된 시트는 잊고있어도 이렇게 매일 SNS 팔로워 수를 기록해줍니다.

snsfollower14

매일 기록된 데이터로 SNS 팔로워 수의 추이를 확인할 수 있습니다.

※ 주의사항: 가끔 팔로워 수를 얻어오는 함수에 오류가 발생하여 데이터가 #N/A 라고 기록되기도 합니다.  기록으로 보았을 때 복불복인 것 같습니다만, 지속해서 오류가 발생하는 경우에는 함수를 고쳐야 하기도 합니다.

snsfollower15
5/22, 5/23 에 Twitter 오류가 발생한 기록. 이때 함수를 고쳤습니다.

snsfollower16
6/12 ~ 6/24, 6/19 에 Facebook 오류가 발생한 기록.

9 Replies to “앱스 스크립트 사용법 (2) SNS 팔로워 수를 기록하기”

  1. 안녕하세요! 문의가 있어 댓글을 남깁니다. 알려주신 함수로는 트위터는 팔로워가 아닌 ‘마음에 들어요’ 의 숫자가 카운팅 되고 페이스북은 url리소스가 크다고 함수가 적용되지 않습니다. 확인 부탁드릴 수 있을까요?

    좋아요

    1. 댓글 남겨주신 부분 확인해보았습니다. 제가 만든 샘플 스프레드시트에서는 트위터 팔로워 숫자가 카운팅 되고 있는 것을 확인했습니다.

      페이스북은 작년 8월10일 이후로 ‘좋아요’ 수를 가져올 수 없게 되었습니다. 여러번 고쳐보려고 해외 사이트도 검색해보고, 다른 방법을 시도했었습니다만, 안타깝게도 성공하지 못했습니다. 참고 되셨기를 바랍니다.

      좋아요

  2. 안녕하세요! 제가 찾던 내용이었는데 해결하게 되어서 너무 기쁩니다.
    (전에 사용하던 코드는 인스타에서 N/a가 계속 떠서 포기했었거든요…)
    코드를 보다가 kakao라고 정의하신게 있어서.. 혹시나 카카오톡채널은 팔로워를 확인할 수 없을지 궁금합니다.
    좋은 정보 감사합니다!

    좋아요

  3. 안녕하세요 🙂 알려주신 인스타그램 스크립트가 작동하지 않는데, 혹시 오류가 나있는지 확인 부탁드려도 될까요?

    =VALUE(REGEXREPLACE(query(SPLIT(IMPORTXML(C2,”.//*[contains(text(), ‘InteractionCounter’)]”), “,”), “select Col11”), “[^0-9]”, “”))

    좋아요

답글 남기기

아래 항목을 채우거나 오른쪽 아이콘 중 하나를 클릭하여 로그 인 하세요:

WordPress.com 로고

WordPress.com의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Facebook 사진

Facebook의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

%s에 연결하는 중