그누보드 게시물 티스토리에 등록하기 정보
그누보드 게시물 티스토리에 등록하기관련링크
첨부파일
본문
티스토리 OPEN API를 이용해서, 그누보드 게시물을 티스토리에 등록하는 스킨입니다.
글작성시 자동으로 티스토리에 등록되는 형태는 아니고,
게시물을 작성한 후에 티스토리로 옮기는 형태입니다.
# 글쓰기 버튼 옆에 티스토리 등록이라는 버튼을 생성합니다.
버튼을 클릭하면, skin 폴더에 들어있는 tistory.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>
https://tistory.github.io/document-tistory-apis/apis/v1/post/write.html
▲▲▲ 여기로 들어가보면, 입력해야하는 값들이 꾀있는데, 테스트해보니
아래 정도의 항목만 넣어도 가능한 것 같습니다.
----------------------------------------------------------------------------------
access_token : 티스토리 API를 호출하기 위해 필수적으로 필요함 [자세히 알아보기]
blogName : 티스토리 계정명 ( ex : webpaper.tistory.com 빨간색 부분)
visibility : 발행상태 (0: 비공개 - 기본값, 1: 보호, 3: 발행) -> select 박스로 처리
category : 카테고리 아이디 (기본값: 0) / 이부분을 찾는데 좀 걸렸습니다. 잘몰라서 ^^;;
(ex : webpaper.tistory.com/28?category=779558) 빨간색 부분
tag : 태그는 입력하면 됩니다. (,) 콤마로 구분해서 입력하면 됩니다.
----------------------------------------------------------------------------------
#등록버튼을 클릭하면, ajax로 form을 전달합니다.
응답예
{
"tistory":{
"status":"200",
"postId":"74",
"url":"http://sampleUrl.tistory.com/74"
}
}
<script>
function fSubmit(){
var form = $("#idForm");
var url = form.attr('action');
$.ajax({
type: "POST",
url: url,
data: form.serialize(),
success: function(xml)
{
if($(xml).find('status').text()=='200'){
alert('정상적으로 등록되었습니다.');
location.href=$(xml).find('url').text();
}
}
});
}
</script>
# XML로 값이 넘어오는데, 여기서 url을 받아서, 팝업창에서 등록된 게시물로 이동합니다.
access token 이 유효시간이 1시간이라서, 저장을 해두고 사용하기가 어려워서,
이런 방법으로 일단 처리해보았습니다.
물론 고수분들은 로그인부터, access token을 받는 것 까지 서버로 가능하게 하시던데,,
저는 그 정도는 아니라 조금 불편하지만, 만들어보았습니다.
* 보완사항
- 첨부파일 / 대표이미지등의 등록은 안됨
- 그누보드에서 입력한 링크 등도 안옮겨짐
- 단, 전달하는 부분에서, 첨부파일링크 나 링크의 주소를 본문에 넣을수는 있을 것 같음
6