-
티스토리 포스팅 Google Spread Sheet로 가져오기IT-Information/Automation 2023. 2. 10. 14:28
티스토리도 API가 있어서 활용성을 찾아보고 있습니다.
먼저 카카오뷰에 보드 발행이 가능한지 알아보고자 합니다.
티스토리 API를 사용할 수 있도록 앱을 등록한다.
티스토리 API 앱 등록 사이트는 https://www.tistory.com/guide/api/manage/register 로 들어가서 절차를 따라 앱을 등록해줄 겁니다.
위 웹페이지에서 등록을 완료해주면 인증 코드를 발급해준다.
그리고 본인의 티스토리 페이지로 와서 아래 링크처럼 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() 함수를 호출한다.