구글 스프레드시트 스팀잇 RSS 만들기


안녕하세요. 안피곤입니다.

어제 BNW 토큰의 창시자 @naha님에게 보여줄 구글 스프레드시트를 만들었어요.
스팀잇 포스팅 URL을 입력하면, 저자, 보팅, 댓글, 리스팀 여부를 가져와서 보여줍니다.




그리고 구글 스프레드시트 API 문서를 살펴보다가,
스팀잇 RSS 피드도 구현 가능할 것 같아서 한번 만들어 보았습니다.
만족할 만한 수준은 아닙니다.
이런 것도 가능하구나 하고 그냥 재미로 읽어보세요. ㅎㅎ


* * *


스팀잇에서 글 가져오는 스크립트 입력하기


구글 스프레드시트를 열고 도구 > 스크립트 편집기를 선택합니다.

다음과 같이 스크립트를 입력합니다. 아래 코드를 복사&붙여넣기 하세요.

// 스팀잇 글 가져오기
function getPosts(username) {
  var params = [{
    tag: username, // 사용자 이름
    limit: 100 // 100건
  }];
  var data = {
    jsonrpc: "2.0", 
    method: 'condenser_api.get_discussions_by_blog', 
    params: params, 
    id: 1
  };
  var options = {
    'method' : 'post',
    'contentType': 'application/json',
    'payload' : JSON.stringify(data)
  };
  var response = UrlFetchApp.fetch('https://api.steemit.com', options);
  if (response.getResponseCode() == 200) {
    var data = JSON.parse(response.getContentText())
      .result
      .filter(function(post) {
        return post.author === username; // 리스팀 글 제외(저자 글만)
      })
      .map(function(post) {
        return [
          post.title, // 제목
          post.body // 본문
        ]
      });
    if(data.length) {
      var sheet = SpreadsheetApp.getActiveSheet();
      sheet.getRange(1, 1, data.length, 2).setValues(data); // 시트에 입력
    }
  }
}

function main() {
  getPosts("anpigon") // 실행
}



그리고 코드를 저장합니다.


코드를 실행하면 다음과 같이 인증 권한을 요구합니다. 확인을 눌러서 계속 진행합니다.



스케쥴러 설정하기


실행 바로 아래에 있는 시계 아이콘을 선택합니다.


트리거를 추가합니다. 실행할 함수, 이벤트 소스, 트리거 기반 시간 유형을 선택합니다.



공유하기


다음과 같은 작업을 해야지 외부에서 API 조회가 가능합니다.

메뉴에서 파일 > 웹에 게시를 선택합니다.

모든 사용자가 볼 수 있게 게시합니다.



RSS 피드 만들기

이제 마지막입니다. 현재 보고 있는 구글 스프레드 시트의 주소의 형태는 다음과 같습니다.

https://docs.google.com/spreadsheets/d/1Ky1tJvioEAzqD4suXqOD52XUiRzXshyU7sPo8gN80cY/edit#gid=0


주소를 다음과 같은 형태로 변경하여 브라우저에서 확인합니다.

https://spreadsheets.google.com/feeds/worksheets/1Ky1tJvioEAzqD4suXqOD52XUiRzXshyU7sPo8gN80cY/public/basic

XML Viewer 서비스를 이용하면 XML 데이터 보기가 편할 거에요.


XLM 에서 아래와 같은 형태의 데이터를 찾으세요. 여기서 href 속성에 있는 값이 우리가 찾는 RSS Feed URL 입니다.

<feed>
  <entry>
    <...>
    <link rel="http://schemas.google.com/spreadsheets/2006#listfeed" type="application/atom+xml" href="https://spreadsheets.google.com/feeds/list/1Ky1tJvioEAzqD4suXqOD52XUiRzXshyU7sPo8gN80cY/od6/public/basic" />
    <...>
  </entry>
</feed>



다음과 같이 제 스팀잇 RSS URL이 생성되었습니다.

https://spreadsheets.google.com/feeds/list/1Ky1tJvioEAzqD4suXqOD52XUiRzXshyU7sPo8gN80cY/od6/public/basic



브라우저에서 확인하면 다음과 같이 보입니다.


RSS 프로그램에서 확인하면 이렇게 보이네요.



이걸 응용하면 특정 태그(kr, kr-dev)나 다른 사용자의 블로그도 RSS로 만들 수 있을 것 같습니다.

여기까지 읽어주셔서 감사합니다.


Sponsored ( Powered by dclick )

dclick-imagead

H2
H3
H4
3 columns
2 columns
1 column
46 Comments