Skip to content

LimJiAn/tistory-go

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

25 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

tistory-go

Go Chromedp

๐ŸŽฏ tistory-go ๋Š” ํ‹ฐ์Šคํ† ๋ฆฌ ๋ธ”๋กœ๊ทธ(tistory blog) ์ž๋™ํ™”๋ฅผ ์œ„ํ•œ Go ์–ธ์–ด Library ์ž…๋‹ˆ๋‹ค.

โš™๏ธ Installation

As a library

go get github.com/LimJiAn/tistory-go

๐Ÿ‘€ Usage

Your Go app you can do something like

package main

import (
    "log"
    "os"

    "github.com/LimJiAn/tistory-go"
)

func main() {
    clientId := "your-client-id"
    clientSecret := "your-client-secret"
    blogURL := "your-blog-url"

    // Create Tistory
    tistory, err := tistory.NewTistory(blogURL, clientId, clientSecret)
    if err != nil {
    	log.Fatal(err)
    }

    // Get AuthorizationCode
    blogId := "your-blog-id"
    blogPassword := "your-blog-password"
    _, err = tistory.GetAuthorizationCode(blogId, blogPassword)
    if err != nil {
         log.Fatal(err)
    }

    // Get AccessToken
    _, err = tistory.GetAccessToken()
    if err != nil {
         log.Fatal(err)
    }
}
    // Blog Info
    info, err := tistory.GetBlogInfo()
    if err != nil {
        log.Fatal(err)
    }

๐Ÿ“– PostList (๊ธ€ ๋ชฉ๋ก)

    // Post List
    res, err := tistory.GetPostList(1)
    if err != nil {
        log.Fatal(err)
    }

๐Ÿ“– ReadPost (๊ธ€ ์ฝ๊ธฐ)

    // Read Post
    res, err := tistory.GetPost(1)
    if err != nil {
        log.Fatal(err)
    }

๐Ÿ“– WritePost (๊ธ€ ์ž‘์„ฑ)

    // Write Post
    res, err := tistory.WritePost(
        map[string]interface{}{"title": "title", "content": "content", "visibility": "3"})
    if err != nil {
        log.Fatal(err)
    }

๐Ÿ“– ModifyPost (๊ธ€ ์ˆ˜์ •)

    // Modify Post
    res, err := tistory.ModifyPost(
        map[string]interface{}{"postId": "1", "title": "title", "content": "content", "visibility": "3"})
    if err != nil {
        log.Fatal(err)
    }

๐Ÿ“– AttchFile (ํŒŒ์ผ ์ฒจ๋ถ€)

    // Attach File (only image)
    fileName := "/UserFilepath/test.png"
    res, err := tistory.AttachPost(fileName)
    if err != nil {
        log.Fatal(err)
    }
    // Category List
    res, err := tistory.CategoryList()
    if err != nil {
        log.Fatal(err)
    }
    // Recent Comment List
    res, err := tistory.GetRecentCommentList(1, 1)
    if err != nil {
        log.Fatal(err)
    }
    // Comment List
    res, err := tistory.GetCommentList(1)
    if err != nil {
        log.Fatal(err)
    }

๐Ÿ“– WriteComment (๋Œ“๊ธ€ ์ž‘์„ฑ)

    // Write Comment
    res, err := tistory.WriteComment(
        map[string]interface{}{"postId": "1", "content": "comment"})
    if err != nil {
        log.Fatal(err)
    }

๐Ÿ“– ModifyComment (๋Œ“๊ธ€ ์ˆ˜์ •)

    // Modify Comment
    info, err := tistory.ModifyComment(
        map[string]interface{}{"postId": "1", "commentId": "1", "content": "comment"})
    if err != nil {
        log.Fatal(err)
    }

๐Ÿ“– DeleteComment (๋Œ“๊ธ€ ์‚ญ์ œ)

    // Delete Comment
    info, err := tistory.DeleteComment(
        map[string]interface{}{"postId": "1", "commentId": "1"})
    if err != nil {
        log.Fatal(err)
    }

๐Ÿ“š Reference

API ์‚ฌ์šฉ ์ค‘ status 403 , error_message ์ด ๋ธ”๋กœ๊ทธ๋Š” ๋‚ด๋ถ€ ์ •์ฑ…์œผ๋กœ OPEN API ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

-> ์ŠคํŒธ์„ฑ ๊ฒŒ์‹œ๋ฌผ ์ž‘์„ฑ์ด ์ฆ๊ฐ€ํ•˜์—ฌ ์ด์šฉ์ด ์ œํ•œ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.