Computer/PHP

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

알찬돌삐 2013. 1. 4. 10:09

티스토리 오픈 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 이용하여 광고 삽입 쉽게 하기