2012년 말부터 Twitter가 오랫동안 사용자들이 기다려왔던 자신의 모든 트윗들을 내려 받을 수 있도록 하는 기능(Twitter Archive)을 오픈하였습니다. 특정 계정들에만 오픈되다가 지금은 많은 계정들에 이 기능이 지원되기 시작했습니다. 다운받는 방법은 자신의 트위터->설정 페이지에 가보시면 하단에 “Your Twitter Archive” 라고 써있는곳에 내려받기 버튼이 보입니다. 이 버튼을 누르면 처음엔 받을수 있는 링크가 메일로 오구요. 그 메일을 누르면 다운 받을수 있는곳으로 이동합니다. 이 버튼이 안보이면 언어 설정을 영어로 바꿔보시기 바랍니다. 저도 계속 안보여서 안생겼나 하고 기다렸는데, 혹시나 해서 영어로 바꾸니 바로 보이더군요. ( 물론 이걸로 해도 아직 안보이는 분들도 있습니다. 조금 더 기다리셔야 ㅠㅠ )
이렇게 받은 파일을 압축을 풀면, 로컬에서도 완벽하게 브라우징 할수 있는 웹사이트 하나가 생성됩니다. 월별로 조회가 가능하고 검색도 됩니다.
깔끔해서 다른 트위터 백업 사이트나 기능들이 필요없을 정도입니다. ( 전 워드프레스 + 트위터 백업 플러그인으로 개인적으로 만들어 사용중이었습니다. ) 이걸 그냥 자신의 웹서버에 업로드만 하면 언제라도 편하게 검색해 볼수 있지만, 문제가 한가지 있습니다. 항상 최종본이 아니라는 거죠. 매일 새로 트윗은 할테고, 그럴때마다 다운받아서 업데이트를 해야합니다. 그래서 자동으로 새 버전으로 업데이트 하도록 하는 방법이 분명 나올거라고 생각했는데, Martin Hawksey 라는 친구가 Google Drive 와 Google Apps Script 를 이용해서 이걸 자동으로 업데이트 하는 방법 을 공개했습니다.
설명이 좀 복잡하길래, 따라하면서 간단히 정리해봤습니다.
- 트위터에서 자신의 archive 를 다운받습니다. 보통은 tweets.zip 이라는 파일로 다운로드 됩니다.
- 로컬 드라이브에 압축을 풀고, Google Drive에 해당 폴더를 업로드 합니다.
이때 conversion : off ( 업로드하는 파일을 구글 드라이브 형식으로 변환기능 : 끔 ) 라고 되어있는지 꼭 확인하셔야 합니다. - 업로드된 폴더의 공유(Sharing) 설정을 열어서 “Public on the web” 으로 지정합니다.
그러면 해당 폴더가 “https://docs.google.com/folder/d/0B7SMn58mVGhSZE5xVkhNbkg0MmM” 같은 형태로 보이게 되는데 이걸로는 웹사이트 형태로 보이지가 않습니다. 뒤의 0B7SMn58mVGhSZE5xVkhNbkg0MmM 주소를 복사해서 “https://googledrive.com/host/” 뒤에다 붙여넣습니다. 이제 이런 형태의 주소가 완성됩니다. “https://googledrive.com/host/0B7SMn58mVGhSZE5xVkhNbkg0MmM” 이제 여러분의 만든 링크를 눌러보시면 방금 업로드한 자신의 트위터 백업 사이트가 구글 드라이브를 통해서 보이게 됩니다. ( 이 링크는 제 사이트로 갑니다 ) - 이제 Martin이 만든 “Update Twitter Archive with Google Drive” Google Spreadsheet 를 열어서 File > Make a Copy 해서 자신의 구글 드라이브로 복사합니다.
- 2014.03.14 추가 – 오류가 수정된 코드버전이 GitHub에 따로 있습니다. 댓글에 연와님 제보
- Authorize/Add Sync Menu 버튼을 두번 누릅니다. 한번은 권한부여, 두번째는 우리가 사용할 메뉴를 추가하는 것입니다.
- 상단에 보면 “Sync Twitter Setup” 메뉴가 추가되었습니다.
- 첫번째 메뉴 아이템인 Set Archive Path 를 눌러서 방금 업로드한 자신의 Folder ID ( 제경우는 0B7SMn58mVGhSZE5xVkhNbkg0MmM ) 를 입력합니다.
- 두번째 메뉴 아이템인 Twitter API Authentication 을 눌러서 자신의 트위터 계정설정을 합니다. 이경우 트위터 API키를 얻기 위해 새로운 트위터 앱을 추가해줘야 합니다. http://dev.twitter.com/apps/new 로 가서 새 트위터 앱을 만듭니다. Callback URL만 설명에 나온대로 https://spreadsheets.google.com/macros 로 지정하면 큰 문제 없습니다. 설정하고 나서 Consumer key 와 Consumer Secret 을 넣어줍니다.
- 그리고 나서 Tools->Script Editor 를 클릭해서 스크립트 에디터를 열고, Run->Authorize 를 누르면 Authorize 버튼이 팝업되고 이걸 누르면 트위터 사이트를 통한 내 트위터 앱 인증이 진행됩니다.
- 이제 설정이 완료되었습니다. “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 으로 묶어버렸습니다.
[iframe src="https://googledrive.com/host/0B7SMn58mVGhSZE5xVkhNbkg0MmM/#"
style="border: 0; position:fixed; top:0; left:0; right:0; bottom:0; width:100%; height:100%"]
이제 트위터의 트윗 백업을 자동으로 구글드라이브에 남겨보세요.
자세히 설명해주셔서 저도 잘 따라해서 설정 완료했습니다:)
중간에 막혀서 당황했는데 알고보니까 구글 드라이브에 업로드할때 옵션에
‘업로드하는 파일을 구글 드라이브 형식으로 변환’이 설정되어 있더군요;
혹시 안되시는 분은 업로드 옵션을 한번 확인해보시면 좋을 것 같습니다~
앗 넵 중간에 Conversion:off 확인하라고 써두었는데.. 한글로도 옮겨놓겠습니다.
안녕하세요. 권정혁님..
아이엠데이의 어설프군YB라고 하는데요.
너무 좋은 내용을 올려주셔서 실례가 안된다면, 올려주신 내용을 저희 아이엠데이에도 공유해 보고 싶은데요. 괜찮을까요?
공유를 허락해 주시면, 출처와 작성자 내용을 표기해 공개 할 것이며, 불허하신다고 괜찮으니.. 의견 부탁드리겠습니다.
그럼 남은 하루도 좋은 마무리하세요.
되도록이면 링크형태로 소개글을 남겨주시면 좋겠습니다
아.. 네 ^^
알겠습니다.
안녕하세요
twitter tools duplication bug 고칠 때 도움받았었는데 기억하실런지^^
저도 twitter.com 에서 제공하는 백업 서비스에 관심을 갖고 있었는데 자동화가 가능하다는 글이 흥미롭네요.
그런데 제가 트위터를 백업하는 이유 중 하나는 구글에서 검색하기 쉽게 하기 위한 것이었습니다. “site:nz.pe.kr 검색어” 와 같이요^^
제가 구글의 웹캐싱 기술에 대해서는 잘 몰라서 한 수 배울까 합니다.
iframe 내의 컨텐츠도 무리없이 잘 검색해 줄까요? 단순히 아카이빙을 위해서라면 옮길만 할 것 같은데 말입니다.
제가 생각하는 방법은 twitter.com 의 email 로 발송된 URL에서 Download 버튼의 링크를 매일 wget으로 긁어서 압축을 푸는 것입니다.
단, 이 링크가 permanent 한 것인지는 두고 볼 일이지만 말입니다. ^^
말씀하신 방법대로 가능은 할듯 합니다. 다운주소가 바뀌지는 않는듯 하더군요.
일단 위 방법은 제 서버를 사용하지 않아서 제가 더 선호했구요. ( 제 서버를 점점 클라우드로 옮기려는 계획이 진행중이어서요. )
전 트위터검색은 twilog 와 제 사이트를 같이 이용합니다.
전 아직 archive 기능이 켜지지 않았네요 -_-;;;
안녕하세요
권정혁님이 써주신대로 설정했는데 다른건 다 되는데
업데이트가 안되서 글을 씁니다.
위에 적어 놓은 하루 한번 업데이트 말고 한시간 단위로 업데이트를 시키려고
아래 함수에서
function toggleTrigger(){
…..
var dailyTrigger = ScriptApp.newTrigger(“updateArchive”).timeBased().everyHours(1).create();
setTriggerID(dailyTrigger.getUniqueId());
onOpen();
……
}
수정을 저렇게 했는데 업데이트가 진행이 안됩니다…
뭘 잘 못 한걸까요…ㅠㅠ
메뉴에서 Trigger on 해주신거 맞나요 ?
핑백: Archive Twitter « #eWord
이렇게 하면 자신의 정보가 공개되는 것 맞죠?
받은 멘션이나 리트윗 그리고 fav는 어떻게 백업하는 방법이 없을까요?
http://kr.chkchk.net/ 을 이용하시거나
http://gluebyte.tumblr.com/post/42905348831 를 참고해보세요.
제가 알기로 짹짹 개발자님께서 돌아가신 걸로…
귀한 정보 고맙습니다. 덕분에 백업은 받았는데, 말씀하신 대로 매번 백업 받기가 그래서 설명대로 따라 하다 8. Consumer key 와 Consumer Secret 에서 막힙니다. 어찌해야 값을 얻는지 아리송??? 도움을 요청합니다.
그 값들은 트위터 https://dev.twitter.com/ 가서 앱을 생성하시고 받으셔야 하는 부분입니다. 트위터 아이디로 로그인하시고 새 앱 만들기로 진행하여 보세요
답변 고맙습니다만…. 앱생성에서 무얼 누르고 이후, 새 앱 만들기는 어찌 진행하는지요? 죄송합니다…..
고맙습니다. 차분히 다시하여 드디어 성공했습니다. 팔로우 신청하며 건필을 기원합니다^^
덕분에 개발에 ‘ㄱ’도 모르는 저도 트위터 자동 백업 시스템을 만들수 있었습니다.
고맙습니다. ^^
고맙습니다. 덕분에 지난 트윗을 검색해 보기가 편하네요.
안녕하세요?
몇 번의 실패를 거쳐서 마침내 성공한 줄 알았는데, “자동” 업데이트는 안되고 있네요. (Update Archive Now를 누르면 업데이트가 되긴 됩니다.) “Auto Refresh”도 On으로 되어 있는데, 무엇이 문제일까요?
답변주시면 고맙겠습니다.
자동으로 백업도 되고 검색도 간편하다니 좋은 방법이네요!
그런데 이 방법으로 백업해놓을 경우 주소만 알면 누구나 제 과거 트위터를 볼 수 있는 건가요? 비공개계정이어도?
좋은 방법이라 해보고 싶은데 트윗이 공개될지도 모른다고 생각하니 조금 꺼려지네요…
구루님 덕분에 트위터를 잘 백업하고 있었는데 최근에 보니 업데이트가 되지 않고 있더라고요. 구루님의 것도 그렇고요. G메일로는 관련 에러메시지가 오고요. 그래서 원글쓴이 블로그를 찾아가보니 해결방법이 나와 있네요. https://gist.github.com/mhawksey/7770536 페이지에 나오는 대로 하고 다시 실행 시키고 스크립트 사용을 허용하니 다시 업데이트가 됩니다.
우왓 고맙습니다! 본문에도 추가해두겠습니다.