자동 업데이트 되는 나만의 트위터 백업 ( Twitter Archive ) 사이트 만들기

2012년 말부터 Twitter가 오랫동안 사용자들이 기다려왔던 자신의 모든 트윗들을 내려 받을 수 있도록 하는 기능(Twitter Archive)을 오픈하였습니다. 특정 계정들에만 오픈되다가 지금은 많은 계정들에 이 기능이 지원되기 시작했습니다. 다운받는 방법은 자신의 트위터->설정 페이지에 가보시면 하단에 “Your Twitter Archive” 라고 써있는곳에 내려받기 버튼이 보입니다. 이 버튼을 누르면 처음엔 받을수 있는 링크가 메일로 오구요. 그 메일을 누르면 다운 받을수 있는곳으로 이동합니다. 이 버튼이 안보이면 언어 설정을 영어로 바꿔보시기 바랍니다. 저도 계속 안보여서 안생겼나 하고 기다렸는데, 혹시나 해서 영어로 바꾸니 바로 보이더군요. ( 물론 이걸로 해도 아직 안보이는 분들도 있습니다. 조금 더 기다리셔야 ㅠㅠ )

이렇게 받은 파일을 압축을 풀면, 로컬에서도 완벽하게 브라우징 할수 있는 웹사이트 하나가 생성됩니다. 월별로 조회가 가능하고 검색도 됩니다.

twitter_archive_local

깔끔해서 다른 트위터 백업 사이트나 기능들이 필요없을 정도입니다. ( 전 워드프레스 + 트위터 백업 플러그인으로 개인적으로 만들어 사용중이었습니다. ) 이걸 그냥 자신의 웹서버에 업로드만 하면 언제라도 편하게 검색해 볼수 있지만, 문제가 한가지 있습니다. 항상 최종본이 아니라는 거죠. 매일 새로 트윗은 할테고, 그럴때마다 다운받아서 업데이트를 해야합니다. 그래서 자동으로 새 버전으로 업데이트 하도록 하는 방법이 분명 나올거라고 생각했는데, Martin Hawksey 라는 친구가 Google Drive 와 Google Apps Script 를 이용해서 이걸 자동으로 업데이트 하는 방법 을 공개했습니다.

설명이 좀 복잡하길래, 따라하면서 간단히 정리해봤습니다.

  1. 트위터에서 자신의 archive 를 다운받습니다. 보통은 tweets.zip 이라는 파일로 다운로드 됩니다.
  2. 로컬 드라이브에 압축을 풀고, Google Drive에 해당 폴더를 업로드 합니다.

    이때 conversion : off ( 업로드하는 파일을 구글 드라이브 형식으로 변환기능 : 끔 ) 라고 되어있는지 꼭 확인하셔야 합니다.
  3. 업로드된 폴더의 공유(Sharing) 설정을 열어서 “Public on the web” 으로 지정합니다.
    그러면 해당 폴더가 “https://docs.google.com/folder/d/0B7SMn58mVGhSZE5xVkhNbkg0MmM” 같은 형태로 보이게 되는데 이걸로는 웹사이트 형태로 보이지가 않습니다. 뒤의 0B7SMn58mVGhSZE5xVkhNbkg0MmM 주소를 복사해서 “https://googledrive.com/host/” 뒤에다 붙여넣습니다. 이제 이런 형태의 주소가 완성됩니다. “https://googledrive.com/host/0B7SMn58mVGhSZE5xVkhNbkg0MmM” 이제 여러분의 만든 링크를 눌러보시면 방금 업로드한 자신의 트위터 백업 사이트가 구글 드라이브를 통해서 보이게 됩니다. ( 이 링크는 제 사이트로 갑니다 )
  4. 이제 Martin이 만든 “Update Twitter Archive with Google Drive” Google Spreadsheet 를 열어서 File > Make a Copy 해서 자신의 구글 드라이브로 복사합니다.
  5. 2014.03.14 추가오류가 수정된 코드버전이 GitHub에 따로 있습니다. 댓글에 연와님 제보
  6. Authorize/Add Sync Menu 버튼을 두번 누릅니다. 한번은 권한부여, 두번째는 우리가 사용할 메뉴를 추가하는 것입니다.
  7. 상단에 보면 “Sync Twitter Setup” 메뉴가 추가되었습니다.
  8. 첫번째 메뉴 아이템인 Set Archive Path 를 눌러서 방금 업로드한 자신의 Folder ID ( 제경우는 0B7SMn58mVGhSZE5xVkhNbkg0MmM ) 를 입력합니다.
  9. 두번째 메뉴 아이템인 Twitter API Authentication 을 눌러서 자신의 트위터 계정설정을 합니다. 이경우 트위터 API키를 얻기 위해 새로운 트위터 앱을 추가해줘야 합니다. http://dev.twitter.com/apps/new 로 가서 새 트위터 앱을 만듭니다. Callback URL만 설명에 나온대로 https://spreadsheets.google.com/macros 로 지정하면 큰 문제 없습니다. 설정하고 나서 Consumer key 와 Consumer Secret 을 넣어줍니다.
  10. 그리고 나서 Tools->Script Editor 를 클릭해서 스크립트 에디터를 열고, Run->Authorize 를 누르면 Authorize 버튼이 팝업되고 이걸 누르면 트위터 사이트를 통한 내 트위터 앱 인증이 진행됩니다.
  11. 이제 설정이 완료되었습니다. “Update Archive Now” 를 누르면 바로 업데이트 하며, “Turn Auto-Refresh On” 을 누르면 매일 한번씩 자동으로 업데이트 됩니다.

앞서서 말씀드렸듯이 제가 원래 제 Twitter 백업사이트를 워드프레스 + 트위터 플러그인으로 운영하고 있었는데, 이걸 이용해서 Google Drive를 이용하게 아예 변경했습니다. 이제 http://twitter.xguru.net/ 에서 제 모든 트윗을 확인하실수 있습니다.

기본 코드는 Google Apps Script 의 Trigger 를 이용하여 toggleTrigger() 함수에서 trigger.timeBased().everyDays(1).atHour(0) 의 형태로 매일 0시에 한번 호출되게 되어있는데, 너무 텀이 긴듯해서 trigger.timeBased().everyHours(1) 로 변경해서 한시간 마다 한번씩 업데이트하게 변경했습니다. everyMinutes() 로 1분당 한번씩도 가능하긴 할텐데.. 그러면 구글에서 블록될지도.. ㅡ.ㅡ;

그리고 아쉽게도 아직 구글 Drive 에 있는 파일을 Custom Domain 으로 제공하는 방법은 없는듯 하네요. ( 아마존 S3 는 CNAME 설정을 통해서 스태틱 파일 서빙이 가능합니다 ) 그래서 오래된 방식인 IFRAME 으로 묶어버렸습니다.

[cc lang=”html”]