New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details →
Socket
Book a DemoSign in
Socket

tistory

Package Overview
Dependencies
Maintainers
1
Versions
8
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

tistory

Javascript Tistory API package, Support Node.js, and Browser

latest
Source
npmnpm
Version
3.0.0
Version published
Maintainers
1
Created
Source

tistory.js

티스토리 오픈 API 래퍼입니다.

설치

npm install --save tistory

시작하기

엑세스 토큰

const http = require('http')
const url = require('url')
const Tistory = require('tistory')

http.createServer(async function (req, res) {
  const tistory = new Tistory()
  const code = url.parse(req.url, true).query.code

  if (code) {
    await tistory.setAccessToken('__APP_ID__', '__SECRET_KEY__', '__CALLBACK__', code)

    // 요청 ...
  } else {
    res.writeHead(302, {
      Location: tistory.getPermissionUrl('__APP_ID__', '__CALLBACK__', 'code')
    })
  }

  res.end()
}).listen(8080)

tistory.getPermissionUrl() 를 사용하면 인증을 위한 티스토리 주소를 얻어올 수 있습니다. 사용자가 허용을 하면, 설정한 __CALLBACK__ 으로 리다이렉트되면서 code 값이 GET 파라매터로 넘어오게 됩니다. tistory.setAccessToken() 으로 내부적으로 엑세스 토큰을 설정합니다.

요청

티스토리에 요청하려면 tistory.get(), tistory.post() 을 사용합니다. 요청 주소가 https://www.tistory.com/apis/blog/info 인 경우, https://www.tistory.com/apis/ 를 제외한 blog/info 를 매개변수로 하여 요청을 보낼 수 있습니다.

티스토리 오픈 API 에서 GET 요청시에는 item 프로퍼티가 존재합니다.

// GET https://www.tistory.com/apis/blog/info
const { data } = await tistory.get('blog/info')

for (const blog of data.tistory.item.blogs) {
  //
}

요청 시에는 추가 매개변수가 필요할 수도 있습니다. 또한 POST 요청에는 item 프로퍼티가 포함되지 않습니다.

const { data } = await tistory.post('post/write', {
  blogName: 'pronist',
  title: 'Hello, world',
  visibility: 0
})

console.log(data.tistory.url)

파일 업로드

파일을 첨부하려면 단순히 fs.createReadStream() 으로 넘겨줄 수 있습니다. 티스토리 제약으로 인해 이미지만 가능합니다.

const fs = require('fs')

// GET https://www.tistory.com/apis/post/attach
const { data } = await tistory.post('post/attach', {
  blogName: 'pronist',
  uploadedfile: fs.createReadStream('path/to/file.png')
})

저작권

MIT

Copyright 2018-2020. SangWoo Jeong. All rights reserved.

Keywords

tistory

FAQs

Package last updated on 08 Nov 2021

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts