tistory / document-tistory-apis

티스토리 Open API 가이드
https://tistory.github.io/document-tistory-apis
12 stars 2 forks source link

이 블로그는 내부 정책으로 OPEN API 를 통해 접근할 수 없습니다 #8

Open pronist opened 2 years ago

pronist commented 2 years ago

티스토리 오픈 API 로 Tistory-Backup 이라는 프로그램을 개발하고 있습니다. 문제가 발생한 사항은 블로그 글 목록을 얻어올 때 첫 번째 블로그는 정상적으로 동작하지만 두 번째 부터는 에러가 발생한다는 점입니다. 현재 blogNamepronist, hello-skin 에 해당하는 이라는 두 개의 블로그를 가지고 있는데, 하나는 정상, 하나는 403 Forbidden 을 유발합니다. blog/info 에는 올바르게 소유 정보가 나타납니다.

에러 메시지를 해석해보면 이 블로그는 내부 정책으로 OPEN API 를 통해 접근할 수 없습니다 라고 나오기는 합니다. 오픈 API 정책에 바뀐 것이 있을까요? 블로그 설정에서 그런 사항이 있나 찾아보니 찾을 수가 없었습니다 :(

PHP 를 사용하여 작성된 테스트 코드입니다. hello-skin 에 대해 글 목록을 조회하려 하면 에러가 발생합니다.

include_once "vendor/autoload.php";

use Pronist\Tistory\Tistory;
use GuzzleHttp\Exception\ClientException;

$tistory = new Tistory();

if ($code = filter_input(INPUT_GET, 'code')) {
    $tistory->setAccessToken('__APP_ID__', '__SECRET_KEY__', 'http://localhost:8080', $code);

    $names = [];

    $resp = $tistory->get('blog/info');

    foreach ($resp->tistory->item->blogs as $blog) {
        $names[] = $blog->name;
    }

    var_dump($names); // 'pronist', 'hello-skin'

    try {
        foreach ($names as $name) {
            $resp = $tistory->get('post/list', [ 'blogName' => $name ]);

            var_dump($resp->tistory->item->url);
        }
    } catch (ClientException $e) {
        erorr_log($e->getMessage());
    }
} else {
    header('Location: ' . $tistory->getPermissionUrl('__APP_ID__',  'http://localhost:8080', 'code'));
}
joostory commented 2 years ago

@pronist 이 내용은 고객센터를 통해서 문의를 하시는게 좋을 것 같네요. 규제관련 이슈가 아닐까합니다.

그리고 access token을 노출하면 안될 것 같어요. 여긴 모두가 볼수 있는 곳이니까요.

pronist commented 2 years ago

@joostory 엇 그렇군 신속하게 테스트용 앱을 제거해야겠군요