아래 포스팅에서도 밝힌 바와 같이 티스토리 Open API 의 파일 첨부 API 는 이미지만 업로드 가능 합니다. 


http://iamaman.tistory.com/2077


저는 스크립트 언어로 주로 Python 을 활용하는데 Python으로 티스토리 Open API 의 파일 첨부 API 를 사용하여 이미지를 업로드 하는 방법에 대해 소개하려 합니다. 


위 링크의 글에서도 언급한 바와 같이 로또 포스팅의 텍스트는 Tistory Open API 를 활용하여 자동으로 업로드 하고 있고 Python 을 사용하고 있습니다. 


매번 반복되는 것들은 항상 자동화 하는게 좋죠.


파일 첨부 API 사용 코드는 아래와 같습니다. 아래 코드의 blogName, token, filepath 변수에 자신의 블로그에 맞게 원하는 파일을 설정하면 끝입니다.



위 코드를 실행해 보니 아래 가이드에서 확인한대로  status, url, replacer 값이 응답으로 오더군요. 

http://www.tistory.com/guide/api/post


status 는 응답코드로 200이 오면 정상으로 파일이 업로드 됐다는 뜻입니다. 정상이 아닐경우 400 이 뜹니다. url 은 말그래도 웹에서 접근할때의 그림 주소입니다. replacer 는 우리가 티스토리 글쓰기를 할때 해당 텍스트를 넣어주면 그림이 들어가는 겁니다. 

아래 그림과 같이 replacer 텍스트를 티스토리 에디터에서 붙여넣기하고

미리보기를 해보니 이렇게 그냥 그림이 나오더군요. 말그대로 텍스트로 해당 값을 넣어주면 그림으로 바뀌는 기능이더군요. 포스팅 작성시에 편리할것 같네요.


티스토리 블로그는 블로그 API를 통해서 글을 작성할 수 있었습니다. 블로그 APIMicrosoft Word 와 같은 외부 편집기 프로그램을 통해서 티스토리에 글을 게시하고 수정할 수 있는 API 입니다. 그런데 보안에 취약한 문제 등으로 2016 12월에 지원을 종료하였습니다. 대신에 오픈 API는 계속 사용할 수가 있습니다.

http://notice.tistory.com/2359

저는 아래 주소의 로또 관련 포스팅을 매주 자동으로 생성하고 있습니다. 로또 결과 발표가 나면 단순한 형태의 크롤링을 통해 로또 당첨번호를 가져오고~ 계속해서 안 나오고 있는 숫자들을 자동으로 찾습니다.

http://iamaman.tistory.com/category/%EB%A1%9C%EB%98%90

이후 포스팅할 로또 HTML 페이지를 생성 한 다음 티스토리 오픈 API를 통해서 로또 포스팅을 업로드 하고 있습니다.

http://www.tistory.com/guide/api/post

그런데 오픈 API 사용 실력이 딸리다 보니 텍스트 업로드는 알겠는데 파일 업로드는 잘 모르겠더군요. 매주 로또 파일이 업로드 되는데 글에 첨부되는 텍스트 파일 업로드를 자동으로 하는 방법을 잘 모르겠어서, 로또 파일 업로드는 수동으로 처리하고 있습니다. 

오픈 API를 확인해 보면 파일 첨부 API가 있습니다. 파일 첨부 API를 사용해서 텍스트 파일을 업로드를 여러 번 시도해 봤지만 정상적으로 동작하지 않았습니다. 그래서 이번에는 제가 가지고 있는 Synology NAS 에 터미널로 붙어서 CURL을 통해 티스토리 블로그에 파일첨부를 시도해봤습니다.

curl -F 'access_token=access_token값' \

     -F 'blogName=iamaman' \

     -F 'uploadedfile=@./lotto.txt' \

     https://www.tistory.com/apis/post/attach

텍스트 업로드를 시도하자 아래 그림과 같이 이미지만 업로드 할 수 있다고 에러 메시지가 뜨더군요. ~! 결과적으로 오픈 API의 파일 첨부 API를 사용해서는 텍스트 파일은 업로드 할 수 없다는걸 이제야…. 알게 됐습니다.


같은 방법으로 이미지파일을 업로드 해 보니 정상적으로 첨부가 되더군요.  정상적으로 동작하면 응답값 200을 받습니다.

그럼 텍스트 파일을 이미지 확장자로 만든 다음에 업로드 해 보면 어떻게 될까... 해서 해 봤는데... 역시나 안되더군요. 


이 글을 보시는 분들은 저처럼 Tistory Open API 를 통해 텍스트 파일 첨부하려고 뻘짓하지 마시기 바랍니다.


어제 간만에 블로그 스킨을 변경 했습니다. 


제 블로그 이름은 "남성의 MATLAB LOG" 인데 기존의 스킨에서는 이 블로그 이름이 안나오더군요.


TickTock 이라고 되어 있어서 내 블로그 제목을 사람들이 TickTock 으로 오해 할 수도 있겠다는 생각이 들더군요. 


그리고 기존에 스킨에서는 글자가 좀 보기 불편하게 나오는것 같아서


정말 백만년 만에 스킨을 변경 했습니다.


티스토리 스킨 변경 관련 웹서핑을 조금 해 보니 스킨은 반응형으로 하는게 좋다고 해서 반응형 스킨으로 변경 했고~ 


이제 애드센스 광고를 넣는데... 이게 간만에 해보니 어디에 넣는게 맞는지 잘 모르겠더군요.


요즘은 애드센스 광고 넣기가 플러그인 형태로 되어 있어서 좋긴 한데


저는 오래전부터 글 하단 광고의 경우 블로그 글에 직접 넣도록 해 왔어서 블로그 하단 광고를 일일이 빼기가 곤란하더군요.


모든 포스팅에 대해 한번에 바꿔 주려면.... 이참에 tistory open api 를 다시 조금 만져 봐야 될것도 같다는 생각도 들더군요.


현재 제 포스팅 중에 로또 관련 포스팅은  tistory open api 를 사용하여 일주일에 한번씩 자동으로 분석 내용이 올라가고 있긴 한데


글 올리기 api 이외의 다른 기능들은 아직 제대로 사용을 안 해봐서... 일단 이건 조금 뒤로 밀어 두고 


애드센스 일치하는 컨텐츠 광고를 넣어야는데... 


저는 일치하는 컨텐츠 광고를 포스팅 글과 댓글 사이에 넣고 싶은데 HTML 페이지의 어디에 넣었었는지 기억이 잘 안나더군요.


그래서 다음에 또 이럴까봐 이번에는 기록을 해 놓습니다. 


일치하는 컨텐츠 광고를 포스팅 글과 댓글 사이에 넣고 싶다면 블로그 관리-> HTML/CSS편집 페이지에서 _article_rep_desc_ 를 검색한 후에

<div class="article">

[##_article_rep_desc_##]

</div>

아래 그림과 같이 그 밑에 adsense 코드를 넣어 주시면 됩니다. 

오늘 기록을 해 놨으니 다음에는 또 헷갈려 하는 일 없을 것 같네요. 



+ Recent posts