갈루아의 반서재

구글스프레드시트를 이용하여 주기적으로 트윗을 전송하는 봇을 만들어보자.


먼저 https://docs.google.com/spreadsheets/d/1Cbg_6pYN04XtDHpDLtxAP3ExQEBL8PYBXBQ1E5_Sq30/copy

에서 스프레드시트를 복사한 후에 시작!





Step 1: Create a Twitter account for your Bot

먼저 봇으로 사용할 새로운 트위터 계정을 만듭니다.


Step 2: Create a Twitter App for your Bot

스프레드시트가 트위터와 소통할 트위터 앱을 만듭니다.


http://apps.twitter.com 로 이동하여 "Create New App" 버튼을 이용해 트위터 앱을 만든다. name, description, website 항목을 필수 입력하고, Callback 필드는 일단 비워둔다.



위의 정보를 제대로 입력하지 않은 경우 아래의 에러가 발생할 수 있다.

Error starting OAuth flow: <?xml version="1.0" encoding="UTF-8"?>< hash> <error>Desktop applications only support the oauth_callback value 'oob'</error> <request>/oauth/request_token</request>< /hash>




Step 3: Complete App Setup and Enter Keys into the Spreadsheet

해당 앱의 정보를 스프레드시트에 입력합니다.




앞서 만든 트위터 앱 관리 페이지에는 Details, Settings, Keys and Access Tokens, 그리고 Permissions 이상 4개의 탭이 있다. 


먼저 Details 탭의 access level 이 "Read and Write"로 되어 있는지 확인해보고, 만약 그렇지 않다면 Permissions 탭에서 이를 수정한다.


다음 Keys and Access Tokens 탭으로 이동하여, "Create my access token"을 클릭한다.


Step 4: Locate your Google Spreadsheet's "Project Key"

스프레드시트의 ID를 알기위해 "Tools -> Script Editor..." 로 이동하여 스크립트 편집기(Script Editor)를 연다. 스크립트 편집기에서 "File -> Project Properties" 에서 프로젝트 키를 확인한 후 스프레드시트에 집어넣는다.



Step 5: Add "Callback" Value to Twitter App

앞서 프로젝트 키를 삽입하면 자동으로 Callback URL 이 생성된다. 만약 실수로 삭제하였다면 그 구성은 다음과 같으니 참조바란다.

https://script.google.com/macros/d/<YOUR PROJECT KEY HERE>/usercallback


이제 다시 트위터 앱 설정 페이지로 돌아가, "Callback URL"  필드에 해당 값을 복사해서 넣는다.


Step 6: Select a Data Sheet and Generate a Preview of its Output


스텝6의 드롭 다운 메뉴를 이용하여 사용할 데이터를 선택한다. 그리고 스프레드시트 상단의 "Bot" 메뉴를 통해 "Generate Preview" 를 실행한다. (여기나와있는 4개의 데이터 옵션은 언제든 변경할 수 있으나 선택 후 반드시 "Generate Preview"를 실행해야 한다. 그리고 각각의 설정방법이 상이하다).




그리고 아래와 같이 권한을 요청하게 되고, 이를 허용하면 된다.




Step 7: Test Twitter Authorization
다시 "Bot" 메뉴에서 "Send a Test Tweet" 를 통해 테스트해보자.






Step 8: Set Post Timing
포스팅 주기 설정도 가능하다.