back

  • person_pin
  • calendar_today
  • remove_red_eye

[그누보드/티스토리] 그누보드 게시물을 티스토리에 등록하기 (티스토리 OPEN API)

페이지 정보

작성자 webpaper 댓글 0건 조회 503회 작성일 19-02-21 16:02

본문

  • attach_file tistoryUp.zip (45.3K) 7회 다운로드 | DATE : 2019-02-21 16:02:51


스킨은 첨부파일로 받으실 수 있습니다.
 

 

 

티스토리 OPEN API를 이용해서, 그누보드 게시물을 티스토리에 등록하는 스킨입니다. 


글작성시 자동으로 티스토리에 등록되는 형태는 아니고, 게시물을 작성한 후에 티스토리로 옮기는 형태입니다. 


보완사항 
 - 첨부파일 / 대표이미지등의 등록은 안됨
 - 그누보드에서 입력한 링크 등도 안옮겨짐
 - 단, 전달하는 부분에서, 첨부파일링크 나 링크의 주소를 본문에 넣을수는 있을 것 같음 



# 글쓰기 버튼 옆에 티스토리 등록이라는 버튼을 생성합니다.

61a2d56f20691c9a8c449e11b80f74b5_1550732113_9428.png



view.skin.php 에서 새창으로 팝업을 띄웁니다. 이때 bo_table / wr_id 값을 전달합니다. 

 
	<a href="#" onclick="sendtistory(); return false;" class="btn_b02 btn"><i class="fa fa-pencil" aria-hidden="true"></i> 티스토리등록</a>

	<script>

		function sendtistory(){
			var url = "<?=$board_skin_url?>/tistory.php?bo_table=<?=$bo_table?>&wr_id=<?=$view['wr_id']?>";
			window.open(url,'티스토리보내기','width=500,height=600,top=100,left=100');
		}

	</script>


이때 새창으로 뜨는 tistory.php 는 skin 폴더에 업로드 되어있어야 합니다. 


61a2d56f20691c9a8c449e11b80f74b5_1550732190_7202.png



티스토리 글 작성 API 에 필요한 항목들을 form 으로 작성해서 넣어둡니다. 

bo_table과 wr_id를 넘겼기 때문에 해당 글의 제목과 내용을 가져옵니다.

그외 항목들은 입력해야합니다. 


61a2d56f20691c9a8c449e11b80f74b5_1550732315_8968.png


위 이미지에서 볼 수 있듯이 전달할 수 있는 항목들이 꾀 있는데, 

테스트 해보니, 아래 정도만 넣어도 가능합니다. 
 

access_token : 티스토리 API를 호출하기 위해 필수적으로 필요함 [자세히 알아보기]


blogName : 티스토리 계정명 ex : webpaper.tistory.com 빨간색 부분


visibility : 발행상태 (0: 비공개 - 기본값, 1: 보호, 3: 발행) -> select 박스로 처리

category : 카테고리 아이디 (기본값: 0) / 이부분을 찾는데 좀 걸렸습니다. 잘몰라서

    (ex : webpaper.tistory.com/28?category=779558빨간색 부분 


tag : 태그는 입력하면 됩니다. (,) 콤마로 구분해서 입력하면 됩니다. 


61a2d56f20691c9a8c449e11b80f74b5_1550732278_8921.png




여기서 등록버튼을 클릭하면, ajax 로 form을 전달하여, 값을 받습니다. 
 

응답예
{
  "tistory":{
    "status":"200",
    "postId":"74",
    "url":"http://sampleUrl.tistory.com/74"
  }
}


# 리턴받은 url 값으로 바로 게시된 티스토리로 이동합니다. 

61a2d56f20691c9a8c449e11b80f74b5_1550732296_3702.png
61a2d56f20691c9a8c449e11b80f74b5_1550732296_4438.png


뭔가 자동적으로 처리하는 방안을 찾아보는데,, 

일단 access token의 유효기간이 1시간이라서, 저장해두기가 어렵습니다. 

아님 호출시 로그인 체크 및 access token까지 서버에서 가져와 사용하는 방법도 있는데,, 

아직 그 정도 경지는 안되서,,

이정도로 작업해보고 공유드립니다.