ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 티스토리 포스팅 Google Spread Sheet로 가져오기
    IT-Information/Automation 2023. 2. 10. 14:28

    티스토리도 API가 있어서 활용성을 찾아보고 있습니다.

    먼저 카카오뷰에 보드 발행이 가능한지 알아보고자 합니다.

     

     

    티스토리 API를 사용할 수 있도록 앱을 등록한다.

     

    티스토리 API 앱 등록 사이트는 https://www.tistory.com/guide/api/manage/register 로 들어가서 절차를 따라 앱을 등록해줄 겁니다.

     

    TISTORY

    나를 표현하는 블로그를 만들어보세요.

    www.tistory.com

     

     

    위 웹페이지에서 등록을 완료해주면 인증 코드를 발급해준다.

    그리고 본인의 티스토리 페이지로 와서 아래 링크처럼 URL창을 입력한다.

     

    https://www.tistory.com/oauth/authorize?
      client_id=abcdefghijklmnopqrstuvwxyz
      &redirect_uri=http://client.redirect.uri
      &response_type=code
      &state=someValue

     

    https://www.tistory.com/oauth/authorize?client_id=사용자ID&redirect_uri=https://goldsystem.tistory.com&response_type=code&syate=someValue

    Client ID 와 redirect_url은 등록한 앱정보에서 확인할 수 있다.

     

    인증창
    인증창

    본인 티스토리에서 위 링크를 정상적으로 입력하면 위와 같은 인증창이 나오는데 허가 버튼을 클릭하면 아래 링크가 URL 입력창에 나타나게 된다.

     

    그러면 주소창에 코드가 뜬다.

     

    그리고

    access_token 만들기

     

    새로운 크롬창 띄우면서 개발자 도구 열기 ( 설정 > 도구 더보기 > 개발자도구)

    이후 아래 주소를 주소창에 입력 후 엔

    https://www.tistory.com/oauth/access_token?client_id=사용자ID&client_secret=사용자 자 시크릿&redirect_uri=https://goldsystem.tistory.com&code=위에서 받은 코드&grant_type=authorization_code  

     

    입력 결과

     

    이런 창이 뜨는데 무시하고 개발자도구 (network > response) 를 보면 access-token 정보가 있다.

    응답창

    이 정보를 복사한다.

     

     

     

    구글 스프레드 시트를 하나 열고 메뉴에서 확장프로그램 > app script를 들어가서 아래소스를 붙인 후 저장 및 실행한다.

    function getTistory(){
     var accessToken='엑세스토큰 입력';
     var url="https://www.tistory.com/apis/post/list?access_token=" + accessToken + "&blogName=티스토리 도메인 아이디&output=json&page=1";
     
     var response=UrlFetchApp.fetch(url);
     
     var resData=response.getContentText();
     resData=JSON.parse(resData);
     
     Logger.long(resData);
     
     var arrTitle=new Array();
     var arrLink=new Array();
     var arrInfo=new Array();
     var arrDate=new Array();
     
     for(var i = 0 ; i < 10 ; i ++){
     	arrTitle.push(resData.tistory.item.posts[i].title);
     	arrLink.push(resData.tistory.item.posts[i].postUrl);
      	arrDate.push(resData.tistory.item.posts[i].date);
     }
     
     arrInfo.push(arrTitle);
     arrInfo.push(arrLink);
     arrInfo.push(arrDate);
     
     //스프레드시트 세로 출력을 위해
     var transposed = Array.from({ length : arrTitle.length }, () => new Array(2).fill(0))
     
     for (var o=0; o< arrInfo.length; o++) {
     	for (var v=0; v<arrInfo[0].length; v++) {
        	[transposed[v][o]] = [arrInfo[o][v]];
        }
     }
      return transposed;
     }

    저장한다.

     

    구글 스프레드시트로 불러오기

     

     

    스프레드시트에서 =getTistory() 함수를 호출한다.

    호출한 모습

     

Copyright 2024