티스토리 뷰

서론


티스토리(Tistory) API를 사용하여 글을 작성하는 방법에 대해서 포스팅하겠습니다. 앞서 포스팅한 티스토리 API 연결하기를 수행해야지 가능합니다. 혹시 API 연결부터 필요한 분은 아래 링크 글을 참고하여 API를 사용해주세요.

C# 티스토리 API 연결하기 - TistoryAPISharp 링크

https://joel-helloworld.tistory.com/60

1. 티스토리 API를 통해 글 작성하기


// 블로그 글 작성
string wp = tistoryApi.WritePost(
    // 블로그 이름
    blogName: "",

    // 글 제목
    title: "",

    // 글 내용
    content: "",

    // 태그 (',' 로 구분)
    tag: "",

    // 발행 상태 (Private: 비공개, Protection: 공개(보호), Public: 공개)
    visibillity: TistoryAPI.Visibillity.Public,

    // 댓글 허용 (Allow: 허용, Deny: 비허용)
    acceptComment: TistoryAPI.AcceptComment.Allow,

    // 카테고리 아이디 (기본값: 0)
    category: "0"
);
💡
우선 블로그 이름이 필요합니다. 블로그 이름은 티스토리 URL의 앞부분에 해당합니다. ex) https://joel-helloworld.tistory.com/ → joel-helloworld
💡
글 제목글 내용은 title, content 에 적어주면됩니다.
💡
태그는 티스토리 작성 글의 태그를 뜻하는데 쉼표로 구분하여 여러개를 입력할 수 있습니다. ex) C#,티스토리,API → 작성된 글 태그가 C#, 티스토리, API 3개가 등록됩니다.
💡
visibillity는 발행 상태를 나타냅니다. Private는 비공개, Protection은 공개(보호), Public은 공개를 뜻합니다.
💡
댓글 허용 여부는 acceptComment로 설정할 수 있습니다. Allow는 허용, Deny는 비허용 입니다.
💡
마지막으로 카테고리의 경우 category로 설정할 수 있으며 아이디 값으로 전달해야합니다.

// 카테고리 가져오기 -> 카테고리 Id 값들 알아오기            
string categories = tistoryApi.GetCategory("joel-helloworld");

var dicCategories = new Dictionary<string, string>();
XElement xElement = XElement.Parse(categories);
var xmlCategories = xElement.Element("item").Element("categories").Elements("category");
foreach (var xc in xmlCategories)
{
    dicCategories.Add(xc.Element("label").Value, xc.Element("id").Value);
}
💡
카테고리의 아이디 값을 알아오기 위해서는 위의 메소드를 실행하면 가져올 수 있습니다. 블로그 이름은 위에서 뜻하는 블로그 이름을 똑같이 전달하면 됩니다.
💡
Return 값은 XML string 형태로 받아옵니다. 가져온 XML string을 XML로 파싱합니다.
💡
이후 Dictionary에 카테고리 이름(label)과 카테고리 Id(id)를 추가합니다.

💡
제 티스토리 블로그의 카테고리 값들을 가져온 결과입니다. 해당 아이디를 전달하면 해당 카테고리로 글이 작성됩니다.
💡
카테고리의 상/하위 구분은 슬래쉬(/)로 됩니다. ex) 코딩 → C#의 경우 “코딩/C#” 으로 Return됩니다.
💡
마지막으로 주의해야할 점은 API를 통한 하루 발행 가능한 글 수15개입니다.

마무리


티스토리(API)를 C#의 TistoryAPISharp을 활용하여 글 작성하는 방법에 대해서 포스팅했습니다. API를 통해 글 작성을 악용할 수 있기 때문에 하루 최대 발행 가능 글 수를 15개로 제한한 것 같습니다. 저는 그것도 모르고 테스트를 해본다고 임의 글을 여러번 작성했는데 이후 글 작성이 안되서 당황했습니다. 다음 포스팅에는 다른 응용된 방법에 대해서 포스팅하도록 하겠습니다.


Uploaded by N2T

댓글