PHP cURL과 티스토리 API로 블로그 포스팅 자동화 구축하기

PHP cURL과 티스토리 API로 블로그 포스팅 자동화 구축하기

PHP cURL을 이용한 티스토리 블로그 자동 글쓰기 티스토리 Open API를 활용하여 PHP cURL로 블로그에 자동으로 글을 작성하는 상세한 방법을 알아보세요. 이 가이드는 OAuth2 인증부터 Access Token 발급, 그리고 최종적인 글쓰기 POST 요청까지 모든 과정을 포함하여 블로그 운영의 효율성을 극대화하는 데 도움을 드립니다.


PHP의 cURL 라이브러리를 활용하여 티스토리 블로그에 자동으로 글을 게시하는 방법은 티스토리 Open API를 사용하는 공식적인 절차를 따릅니다. 이 과정은 OAuth2 인증, Access Token 발급, 그리고 POST 요청의 순서로 진행됩니다. 이 글에서는 각 단계를 자세히 설명하여 티스토리 블로그의 콘텐츠 업로드 자동화를 구현할 수 있도록 돕겠습니다.


목차

1. 전체 프로세스 요약

1. 티스토리 API 애플리케이션 등록

2. 사용자 인증 (OAuth2, 1회만 필요)

3. Access Token 발급

4. PHP cURL로 글 작성 요청하기

PHP cURL을 이용한 티스토리 블로그 자동 글쓰기 요약

자주 묻는 질문

전체 프로세스 요약

  1. 티스토리 API 애플리케이션 등록
  2. OAuth2 인증 및 Access Token 발급
  3. PHP cURL을 이용한 API POST 요청으로 글 작성 완료



1. 티스토리 API 애플리케이션 등록

티스토리 API 애플리케이션을 등록하는 한국 여성
티스토리 Open API 관리 페이지에서 앱을 등록하고 Key를 발급받는 과정

티스토리 Open API를 사용하기 위한 첫 번째 단계는 티스토리 Open API 관리 페이지에서 새로운 애플리케이션을 등록하는 것입니다. 이 과정에서 애플리케이션 이름, 서비스 URL, Redirect URI 등을 설정해야 합니다. 특히 Redirect URI는 OAuth2 인증 후 사용자가 리디렉션될 주소이므로 정확히 입력해야 합니다.


알아두세요!
앱 이름은 자유롭게 입력할 수 있습니다. 서비스 URLRedirect 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회만 필요)

OAuth2 인증을 통해 code 값을 얻는 한국 여성
OAuth2 인증 절차를 통해 일회성 인증 코드(code)를 획득

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 발급

Access Token 발급 과정을 상징하는 퍼즐 조각
일회성 코드와 앱 정보를 합쳐 영구적인 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로 글 작성 요청하기

PHP cURL 코드로 티스토리 블로그에 글을 작성하는 한국 여성
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을 통해 티스토리 블로그에 글을 자동으로 작성하는 과정은 체계적인 단계를 거쳐 이루어집니다. 주요 절차는 다음과 같습니다.

  1. API 애플리케이션 등록: 티스토리 Open API 관리 페이지에서 앱을 등록하고 Client ID와 Client Secret을 발급받습니다.
  2. 사용자 인증: OAuth2를 통해 사용자 로그인을 유도하고, 리디렉션된 URL에서 code 값을 추출합니다.
  3. Access Token 발급: 추출한 code와 발급받은 Client ID, Client Secret을 이용해 Access Token을 발급받습니다. 이 토큰은 재사용이 가능합니다.
  4. 글 작성 요청: 발급받은 Access Token과 글 내용을 포함하여 티스토리 post/write API 엔드포인트에 PHP cURL로 POST 요청을 보냅니다.
  5. 주의사항: API 호출 제한과 스팸성 게시물로 인한 차단 가능성에 유의하며, 콘텐츠 품질을 유지하는 것이 중요합니다.


자주 묻는 질문

Q: Access Token은 한 번 발급받으면 영구적으로 사용할 수 있나요?
A: 아닙니다. Access Token에는 유효기간이 있습니다. 유효기간이 만료되면 다시 사용자 인증 절차를 거쳐 새로운 Access Token을 발급받아야 합니다.
Q: 여러 카테고리에 동시에 글을 게시할 수 있나요?
A: 티스토리 API의 category 파라미터는 단일 카테고리 ID를 받습니다. 여러 카테고리에 동시에 게시하려면 API를 여러 번 호출하거나, 티스토리 자체 기능으로 여러 카테고리 설정을 확인해야 합니다. 카테고리 ID는 별도의 API 호출로 조회할 수 있습니다.
Q: 하루에 게시할 수 있는 글 수에 제한이 있나요?
A: 네, 티스토리 API는 과도한 사용을 방지하기 위해 호출 제한을 둘 수 있습니다. 정확한 제한 수치는 공개되어 있지 않지만, 자동화 시스템 구축 시 이를 고려하여 설계하고, 스팸성 게시물로 인식되지 않도록 주의해야 합니다.


PHP cURL을 이용한 티스토리 블로그 자동 글쓰기 방법은 블로그 운영을 효율적으로 관리하고 콘텐츠 생산을 자동화하는 데 매우 유용한 도구입니다. 본 가이드에서 제시된 단계별 절차와 주의사항을 잘 숙지하여 성공적인 자동화 시스템을 구축하시기 바랍니다.

관련글

태그: 티스토리 API, 블로그 자동 글쓰기, 티스토리 자동화, 콘텐츠 자동 업로드