티스토리 오픈 API 를 이용하여 내 블로그 글 수정하기 2부를 시작합니다.


1부에서 OAuth 흐름에 대해서 언급하지 못하고 지나갔었는데요.

대략 흐름은 아래와 같습니다.

1. 블로거가 Consumer 로 등록된 사이트에 접속

    예) http://tistory.i-swear.com

2. Access Token 을 받기 위해서 티스토리로 페이지 이동

    이때 로그인이 되어있지 않다면 로그인 창이 뜹니다.

3. 블로거가 TISTORY OAUTH 창으로 접속됩니다. 아래 이미지 참조.

이곳에서 허가하기를 누르면 Access Token 이 발급되어 Consumer 에서 등록한 권한 (읽기, 읽기/쓰기) 를 가지게 됩니다. 

물론 취소를 누른다면 창은 닫히게 되고요. ^^.

이 Access Token 을 가지고 허용된 API (글정보,글수정,글삭제,글등록 등등) 을 사용할수 있게 됩니다.


대충 설명은 이렇게 하고요.

그럼 이제, 코딩 시작.....

아주 심플하게 코딩만 할것이기 때문에 크래킹이나 XSS 에 대해서 고려하지 않음을 알려드립니다.


티스토리 오픈API 로 Access Token 을 받자.

1부에서 Client Id , Secret Key 를 발급받았습니다.

그럼 얘들을 어디에 쓰느냐...

내가 이런 저런 서비스를 하기 위한 고유의 키(?)라고 생각하시면 됩니다.



일일이 복사하기 귀찮은 분들위한 다운로드 서비스.

config.php

step1.php

callback.php


config.php 파일을 만들자.

config.php 에는 Client ID 와 Secret Key 를 저장해 둡시다.

### php
config.php
$_client_id    = "티스토리에서 발급받은 Client ID 를 입력";
$_secret_key   = "티스토리에서 발급받은 Secret Key 를 입력";
$_callback_url = "http://티스토리 Consumer 에 입력한 CallBack 경로";


토대로 step1.php 파일을 만듭니다.

이 파일의 역할은 티스토리에 로그인 한 사용자에게서 Access Token 을 받기 위해 티스토리로 Redirect 해주는 파일입니다.

### php
step1.php
include "config.php";
$url  = "https://www.tistory.com/oauth/authorize/";
$url .= "?client_id={$_client_id}";
$url .= "&redirect_uri={$_callback_url}";
$url .= "&response_type=code";

header("Location: {$url}");


이제 callback.php 파일을 만듭니다.

이 파일의 역할은 티스토리에서 TISTORY OAUTH 을 허가한 사용자의 code 을 넘겨줍니다.

step2.php 로 해야되는데, CallBack 부분이기 때문에 callback.php 로 하겠습니다.

GET 변수로 code 가 넘어오므로, 이 값을 가지고 Access Token 을 받아야 합니다.

### php
callback.php
include "config.php";

$url = "https://www.tistory.com/oauth/access_token/?";
$url .= "&client_id={$_client_id}";
$url .= "&client_secret={$_secret_key}";
$url .= "&redirect_uri=" . urlencode($_callback_url);
$url .= "&code={$_GET['code']}";
$url .= "&grant_type=authorization_code";


$ch = curl_init();
curl_setopt ($ch, CURLOPT_URL,$url);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt ($ch, CURLOPT_HEADER, false);

$content = curl_exec($ch);
curl_close ($ch);

$content = str_replace('access_token=', '', $content);
$_SESSION['access_token'] = $content;


이제 access token 을 받았으니, 글읽기와 글수정에 대해서 알아보겠습니다.


이 글과 연관된 글

2013/01/04 - 티스토리 오픈 API 를 이용하여 내 블로그 글 수정하기 1부

2013/01/04 - 티스토리 오픈 API 를 이용하여 내 블로그 글 수정하기 2부

2013/01/05 - 티스토리 오픈 API 를 이용하여 내 블로그 글 수정하기 3부

2013/01/10 - 티스토리 구글애드센스 데스크탑,모바일 광고 구분하여 보내기

티스토리오픈API 이용하여 광고 삽입 쉽게 하기



신고
Posted by 알찬돌삐

댓글을 달아 주세요

  1. 애드센스포럼 2013.01.04 17:08 신고  댓글주소  수정/삭제  댓글쓰기

    포럼에 링크가 달려서 타고 왔습니다.
    3부 기다리고 있습니다 ^^

  2. 애드센스포럼 2013.01.04 22:37 신고  댓글주소  수정/삭제  댓글쓰기

    너무 유용한 포스팅인 것 같습니다. 목이빠져라 기다려봅니다 ^^

  3. 김후락 2013.01.10 00:40 신고  댓글주소  수정/삭제  댓글쓰기

    정말정말 어메이징 하네요. 알찬돌삐님 너무너무 감사합니다.



    모바일광고를 겨냥하여 모두 올렸던 광고가
    바보 구글봇ㅠ때문에 구글애드 정지로 일일히 다 지우는데 2일 걸렸습니다 ㅠ

    다른 계정으로 다시 신청하고 돌삐님의 소중한 프로그램으로 사용하겠습니다.

    테스트로 해봤는데 감동의 물결이 ㅠ 완전 감사합니다! 자주뵐께요^^

    • 알찬돌삐 2013.01.10 08:26 신고  댓글주소  수정/삭제

      도움이 되셨다니 다행입니다. ^^...
      저도 이걸 적용해놓고 보니, 모바일일때는 모바일 광고(작은사이즈)
      PC 일때는 데탑광고 (큰 사이즈)가 나오게 할 수 있을것 같더라구요.
      궁리중입니다. ㅎ.

  4. 김후락 2013.01.10 11:00 신고  댓글주소  수정/삭제  댓글쓰기

    어머! 저와 같은 생각을 가지고 궁리중이시구요.

    데탑->모바일 광고 하나로 될텐데^^

    저는 궁리만해야겠네요ㅠ윽 능력자 돌삐님은 어서어서
    또 php인가 꾸러미 모아 놓고 부탁드려요ㅋ
    이힛.^^

  5. 흑횽GDT 2013.01.11 00:04 신고  댓글주소  수정/삭제  댓글쓰기

    돌삐님.. ^^ 감사합니다. 쵝오입니다. 흔적 남겨놓을께요.. ^^

  6. 2017.09.03 11:21  댓글주소  수정/삭제  댓글쓰기

    비밀댓글입니다



티스토리 툴바