페이스북 댓글과 공유 이벤트 당첨자 추출을 웹 브라우저에서 쉽게 하기



페이스북 댓글과 공유 이벤트 당첨자 추출기입니다.

전문적으로 이벤트를 진행하는 곳이라면 페이스북 SDK를 이용한 방법이 쉽고 편하지만, 일회성이라면 번거롭고 운영자가 아니면 사용이 불가능합니다.
다른 대안으로 목록을 사전에 다운로드 후 추출하는 방식으로 진행하지만, 신뢰에 대한 부분에서 사전에 준비된 자료는 조금은 의심스럽기도 합니다.

그래서 개발자스럽게 브라우저에서 자바스크립트를 이용하여 보이는 화면 그대로를 추출하여 당첨자를 알려주는 것을 만들게 되었습니다.
이제 개발자가 아니더라도 페이스북 페이지와 그룹에서 쉽지만 개발자스런 느낌으로 이벤트 진행이 가능해졌습니다.

소스 및 상세 실행은 https://github.com/gaerae/facebook-contest-winner에서 확인 가능합니다.

블로그에서는 2가지 기능만 소개하겠습니다.

1. 모든 댓글 자동 보기

페이스북 게시물에 댓글이 많으면 일부 댓글만 표시되고 "더 보기" 버튼을 클릭해야 댓글을 더 볼 수 있습니다.
그런데 전체 댓글을 보고 싶은데 개수가 많은 경우 여러 번 클릭을 해야 하는 불편함이 있습니다.

이 추첨 기는 웹페이지에서 보이는 화면 기준으로 추출하기 때문에 모두 표시해야 돼서 버튼을 자동으로 클릭하여 전체 댓글이 보이도록 하는 기능을 제공합니다.
아래 명령 한 줄이면 충분합니다.

FacebookContestWinner.viewAllComments();

2. 모든 공유 자동 보기

페이스북 게시물의 공유 목록은 댓글과 다르게 페이지를 하단으로 스크롤할 때마다 추가 공유 목록이 노출됩니다.
추가 내용이 없을 때까지 스크롤을 내려야 되는 불편함이 있어 명령 한 줄이면 추가 목록이 없을 때까지 자동으로 스크롤을 내려주는 기능을 넣었습니다.

FacebookContestWinner.viewAllShares();

실행 결과 화면



실행 결과화면에 추가 정보를 제공합니다.

⭐ Winner Details
당첨자 이름, 페이스북 고유 아이디, 페이스북 주소, 페이스북 사진, 댓글 혹은 공유 메시지 정보를 가지고 있습니다.
응용하면 댓글 내용을 분석한 추첨도 가능합니다.

⭐ Optional Parameter
댓글과 공유하기 명령어의 2번째 선택 옵션으로 사용될 정보입니다.
사용 시나리오는 간단합니다.

1. 댓글 당첨자를 먼저 실행합니다.
2. 댓글 당첨자 결과의 정보를 복사 후
3. 공유 당첨자 2번째 값에 붙여넣기합니다.

그럼 결과는 "댓글 + 공유"까지 한 사용자가 최종 당첨자가 되는 시나리오가 가능합니다.


사용 사례



마무리

코드가 깔끔하지 않고 충분한 테스트를 하지 못했습니다.
또한 페이스북이 디자인을 바꾸게되면 실행이 안될 수 있으니 사전에 충분히 테스트 후 사용하세요.

소스는 GitHub에서 확인 가능합니다.