PHP cURL과 티스토리 API로 블로그 포스팅 자동화 구축하기
PHP의 cURL 라이브러리를 활용하여 티스토리 블로그에 자동으로 글을 게시하는 방법은 티스토리 Open API를 사용하는 공식적인 절차를 따릅니다. 이 과정은 OAuth2 인증, Access Token 발급, 그리고 POST 요청의 순서로 진행됩니다. 이 글에서는 각 단계를 자세히 설명하여 티스토리 블로그의 콘텐츠 업로드 자동화를 구현할 수 있도록 돕겠습니다.
목차
1. 전체 프로세스 요약
1. 티스토리 API 애플리케이션 등록
2. 사용자 인증 (OAuth2, 1회만 필요)
3. Access Token 발급
4. PHP cURL로 글 작성 요청하기
PHP cURL을 이용한 티스토리 블로그 자동 글쓰기 요약
자주 묻는 질문
전체 프로세스 요약
- 티스토리 API 애플리케이션 등록
- OAuth2 인증 및 Access Token 발급
- PHP cURL을 이용한 API POST 요청으로 글 작성 완료
1. 티스토리 API 애플리케이션 등록

티스토리 Open API를 사용하기 위한 첫 번째 단계는 티스토리 Open API 관리 페이지에서 새로운 애플리케이션을 등록하는 것입니다. 이 과정에서 애플리케이션 이름, 서비스 URL, Redirect URI 등을 설정해야 합니다. 특히 Redirect URI는 OAuth2 인증 후 사용자가 리디렉션될 주소이므로 정확히 입력해야 합니다.
앱 이름은 자유롭게 입력할 수 있습니다. 서비스 URL과 Redirect URI는 실제 서비스를 운영할 도메인으로 설정해야 합니다.
| 설정 항목 | 설명 및 예시 |
|---|---|
| 앱이름 | 자유롭게 입력 |
| 서비스URL | 예: https://yourdomain.com |
| Redirect URI | 예: https://yourdomain.com/callback.php |
| 권한 요청 | 글쓰기, 정보조회 선택 |
설정 저장 후, Client ID (client_id)와 Client Secret (client_secret)을 발급받게 됩니다. 이 정보들은 이후 OAuth2 인증 및 Access Token 발급에 사용되므로 안전하게 보관해야 합니다.
2. 사용자 인증 (OAuth2, 1회만 필요)

API를 통해 글을 작성하기 위해서는 사용자 인증이 필요합니다. 이 과정은 OAuth2 프로토콜을 따르며, 일반적으로 한 번만 수행하면 됩니다. 브라우저 주소창에 아래와 같은 형식의 URL을 입력하여 사용자가 티스토리에 로그인하도록 유도합니다.
사용자 인증 URL 예시
https://www.tistory.com/oauth/authorize?client_id=YOUR_CLIENT_ID&redirect_uri=YOUR_REDIRECT_URI&response_type=code
사용자가 로그인에 성공하면, 등록된 Redirect URI로 리디렉션됩니다. 이때 URL에는 code=xxxx 형태의 쿼리 파라미터가 포함됩니다. 이 code 값을 복사하여 다음 단계인 Access Token 발급에 사용해야 합니다.
code 값은 일회성이므로, Access Token을 발급받은 후에는 다시 사용할 수 없습니다. 새로운 Access Token이 필요한 경우 사용자 인증 절차를 다시 진행해야 합니다.
3. Access Token 발급

사용자 인증을 통해 얻은 code 값을 이용하여 Access Token을 발급받습니다. Access Token은 API 요청 시 사용자를 인증하는 데 필요한 핵심 값입니다. 아래 PHP 코드를 참고하여 Access Token을 발급받을 수 있습니다.
Access Token 발급 PHP 코드
<?php
$client_id = 'YOUR_CLIENT_ID';
$client_secret = 'YOUR_CLIENT_SECRET';
$redirect_uri = 'https://yourdomain.com/callback.php';
$code = '위에서 받은 코드';
$token_url = 'https://www.tistory.com/oauth/access_token';
$params = http_build_query([
'grant_type' => 'authorization_code',
'client_id' => $client_id,
'client_secret' => $client_secret,
'redirect_uri' => $redirect_uri,
'code' => $code
]);
$response = file_get_contents($token_url . '?' . $params);
parse_str($response, $result);
$access_token = $result['access_token'];
echo "Access Token: " . $access_token;
?>
발급된 Access Token은 특정 유효기간을 가지지만, 그 기간 동안은 재사용이 가능합니다. 따라서 발급받은 Access Token을 안전하게 저장하고 재사용하는 것이 일반적입니다.
4. PHP cURL로 글 작성 요청하기

Access Token을 발급받았다면, 이제 PHP cURL을 사용하여 티스토리 블로그에 글을 작성할 수 있습니다. 티스토리 API의 post/write 엔드포인트에 필요한 매개변수와 함께 POST 요청을 보냅니다.
PHP cURL 글 작성 코드
<?php
$access_token = '발급받은 액세스 토큰';
$blog_name = 'yourblogname'; // 예: abc.tistory.com → abc
$title = '자동으로 작성된 글';
$content = '<p>이 글은 PHP CURL을 이용해 Tistory API로 업로드한 글입니다.</p>';
$category = 0; // 기본 카테고리 ID (0 = 미분류)
$visibility = 3; // 3: 발행, 0: 비공개, 1: 보호
$api_url = 'https://www.tistory.com/apis/post/write';
$data = [
'access_token' => $access_token,
'output' => 'json',
'blogName' => $blog_name,
'title' => $title,
'content' => $content,
'category' => $category,
'visibility' => $visibility
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $api_url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>
위 코드에서 $blog_name, $title, $content, $category, $visibility 등의 변수들을 원하는 값으로 설정하여 사용합니다. 글 작성 요청이 성공하면 다음과 같은 JSON 응답을 받게 됩니다.
정상 응답 예시
{
"tistory": {
"status": "200",
"postId": "123456"
}
}
"status": "200"은 글이 성공적으로 등록되었음을 의미하며, "postId"는 새로 생성된 게시글의 ID를 나타냅니다.
| 항목 | 설명 |
|---|---|
visibility |
0: 비공개 / 1: 보호 / 3: 발행 |
category |
0 (미분류) 또는 티스토리 카테고리 ID (API로 조회 가능) |
tag |
쉼표(,)로 구분하여 태그 입력 가능 (옵션) |
published |
타임스탬프 형태의 발행일 지정 가능 (옵션) |
티스토리 API는 하루 호출 제한이 있을 수 있습니다. 수백 건 이상의 글을 업로드할 때는 주의해야 합니다. 또한, 같은 IP나 Access Token으로 반복적인 스팸성 글 업로드 시 티스토리 측에서 차단될 수 있으므로, 항상 콘텐츠 품질 유지에 신경 써야 합니다.
PHP cURL을 이용한 티스토리 블로그 자동 글쓰기 요약
PHP cURL을 통해 티스토리 블로그에 글을 자동으로 작성하는 과정은 체계적인 단계를 거쳐 이루어집니다. 주요 절차는 다음과 같습니다.
- API 애플리케이션 등록: 티스토리 Open API 관리 페이지에서 앱을 등록하고 Client ID와 Client Secret을 발급받습니다.
- 사용자 인증: OAuth2를 통해 사용자 로그인을 유도하고, 리디렉션된 URL에서
code값을 추출합니다. - Access Token 발급: 추출한
code와 발급받은 Client ID, Client Secret을 이용해 Access Token을 발급받습니다. 이 토큰은 재사용이 가능합니다. - 글 작성 요청: 발급받은 Access Token과 글 내용을 포함하여 티스토리
post/writeAPI 엔드포인트에 PHP cURL로 POST 요청을 보냅니다. - 주의사항: API 호출 제한과 스팸성 게시물로 인한 차단 가능성에 유의하며, 콘텐츠 품질을 유지하는 것이 중요합니다.
자주 묻는 질문
category 파라미터는 단일 카테고리 ID를 받습니다. 여러 카테고리에 동시에 게시하려면 API를 여러 번 호출하거나, 티스토리 자체 기능으로 여러 카테고리 설정을 확인해야 합니다. 카테고리 ID는 별도의 API 호출로 조회할 수 있습니다.PHP cURL을 이용한 티스토리 블로그 자동 글쓰기 방법은 블로그 운영을 효율적으로 관리하고 콘텐츠 생산을 자동화하는 데 매우 유용한 도구입니다. 본 가이드에서 제시된 단계별 절차와 주의사항을 잘 숙지하여 성공적인 자동화 시스템을 구축하시기 바랍니다.
관련글
태그: 티스토리 API, 블로그 자동 글쓰기, 티스토리 자동화, 콘텐츠 자동 업로드



