Skip to content

ltbl/api.gae9.com

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

12 Commits
ย 
ย 

Repository files navigation

๊ฐœ9 ์˜คํ”ˆAPI ์‚ฌ์šฉ์„ค๋ช…์„œ

์†Œ๊ฐœ

๊ฐœ9 API(์ดํ•˜ API)๋Š” ๊ฐœ9 ๊ธฐ๋Šฅ ๋Œ€๋ถ€๋ถ„์„ ์ง€์›ํ•˜๋ฉฐ, ๋ณ„๋„์˜ API ๋„๋ฉ”์ธ์—์„œ REST ํ˜•์‹์œผ๋กœ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.์ตœ์‹  ๋ฌธ์„œ ๋‚ด์šฉ์€ ํ•ญ์ƒ API Github ์—์„œ ํ™•์ธํ•˜์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์›Œํ„ฐ๋งˆํฌ

๊ฐœ9์—์„œ ์‹ค์ œ๋กœ ์ œ๊ณตํ•˜๋Š” ๋ชจ๋“  ์ด๋ฏธ์ง€์—๋Š”, ์›Œํ„ฐ๋งˆํฌ๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. API๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์‚ฌ์šฉ์ž๋Š”, ์ด ์›Œํ„ฐ๋งˆํฌ๋ฅผ ์ž„์˜๋กœ ์ œ๊ฑฐํ•  ์ˆ˜ ์—†์œผ๋ฉฐ ์ œ๊ฑฐํ•˜์—ฌ ์ด์šฉํ•  ๊ฒฝ์šฐ API ์‚ฌ์šฉ์ด ์ฐจ๋‹จ ๋˜๋Š” ๋“ฑ์˜ ๋ถˆ์ด์ต์„ ๋ฐ›์œผ์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด์™€ ๊ด€๋ จ๋œ ์ž์„ธํ•œ ๋ฌธ์˜๋Š” support@gae9.com ์œผ๋กœ ๋ถ€ํƒ๋“œ๋ฆฝ๋‹ˆ๋‹ค.

๋ฌธ์„œ์˜ ์•ฝ์†

  • ๋ณธ ๋ฌธ์„œ์—์„œ <๋‚ด์šฉ> ํ˜•ํƒœ๋ฃŒ ํ‘œ์‹œ๋œ ๋ถ€๋ถ„์€, ์ ๋‹นํžˆ ์•Œ๋งž์€ ๊ฐ’์œผ๋กœ ๋ณ€๊ฒฝํ•ด ๋„ฃ์–ด์•ผ ํ•˜๋Š” ์ธ์ž๋ฅผ ์˜๋ฏธ ํ•ฉ๋‹ˆ๋‹ค.

์š”์ฒญ

์ธ์ฆ

API๋Š” ์ธ์ฆ์„ ํ•„์š”๋กœ ํ•˜๋Š” API์™€ ์ธ์ฆ์—†์ด ์ž‘๋™๋˜๋Š” API๋กœ ๊ตฌ๋ณ„๋˜๋ฉฐ, ๋ชจ๋“  ์“ฐ๊ธฐ/์—…๋ฐ์ดํŠธ/์‚ญ์ œ๋“ฑ์˜ ์š”์ฒญ์—๋Š” ์ธ์ฆ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

๊ธฐ๋ณธ์ ์œผ๋กœ ์ธ์ฆ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ฐฉ์‹์„ ์ง€์›ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

  1. OAuth 2.0 Draft 16 ์ด์ƒ
  2. ๋ธŒ๋ผ์šฐ์ € ์„ธ์…˜์„ ์ด์šฉํ•œ ๋ฐฉ๋ฒ•
์ฃผ์˜: ๋ธŒ๋ผ์šฐ์ € ์„ธ์…˜์„ ์ด์šฉํ•œ ๋ฐฉ๋ฒ•์˜ ๊ฒฝ์šฐ, GAE9ํŒ€๊ณผ ๋ณ„๋„์˜ ํ˜‘์˜๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ support@gae9.com ์œผ๋กœ ๋ฉ”์ผ ์ฃผ์„ธ์š”.

OAuth

OAuth ์ธ์ฆ์€ OAuth 2.0 Draft 16 ์ด์ƒ์˜ ํ‘œ์ค€์„ ์ค€์ˆ˜ํ•˜๋Š” ์„ ์—์„œ ์ง€์›ํ•˜๋ฉฐ, HTTP Authorization ํ•ด๋”๋ฅผ ํ†ตํ•ด, HMAC-SHA1 ์œผ๋กœ ์„œ๋ช…๋œ ์„œ๋ช…๋งŒ ์ˆ˜๋ฝํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

Endpoint URL
Token Request http://api.gae9.com/oauth/request_token
Authorize http://api.gae9.com/oauth/authorize
Access Token http://api.gae9.com/oauth/access_token

OAuth ์ธ์ฆ์„ ์‚ฌ์šฉํ•˜๋ ค๋ฉด GAE9 ๊ฐœ๋ฐœ์ž ํŽ˜์ด์ง€ ์—์„œ Application ๋“ฑ๋ก ๊ณผ์ •์„ ์ˆ˜ํ–‰ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ฃผ์†Œ

๋ชจ๋“  ์š”์ฒญ์€ http://api.gae9.com ํ˜ธ์ŠคํŠธ์—์„œ ์ฒ˜๋ฆฌ ๋ฉ๋‹ˆ๋‹ค.

METHOD URL DESCRIPTION ์ธ์ฆ
GET /channel ์ฑ„๋„ ๋ชฉ๋ก N
GET /channel/<channel> <channel>์— ์†ํ•œ ๊ฐœ๊ทธ, ์‚ฌ์ง„ ๋ชฉ๋ก N
GET /tag ํƒœ๊ทธ ๋ชฉ๋ก N
GET /gag ๊ฐœ๊ทธ, ์‚ฌ์ง„ ๋ชฉ๋ก N
GET /gag/<gag id> ํŠน์ • <gag id>์— ๋Œ€ํ•œ ์ •๋ณด N
GET /gag/<gag id>/image ๊ฐ€์žฅ ํฐ ์‚ฌ์ด์ฆˆ ์ด๋ฏธ์ง€ N
POST /gag/<gag id>/tag/<tag> ๊ฐœ๊ทธ์— ํƒœ๊ทธ ์ถ”๊ฐ€ Y
DELETE /gag/<gag id>/tag/<tag> ๊ฐœ๊ทธ์— ํƒœ๊ทธ ์‚ญ์ œ Y
POST /gag ์‚ฌ์ง„ ์—…๋กœ๋“œ Y
DELETE /gag/<gag id> ์‚ฌ์ง„ ์‚ญ์ œ Y
GET /search ๊ฒ€์ƒ‰ N

์‘๋‹ต

๋ชจ๋“  ์š”์ฒญ์— ๋Œ€ํ•œ ์‘๋‹ต์€ application/json ํ˜•ํƒœ๋กœ ์ œ๊ณต๋˜๋ฉฐ JSONP ํ˜•ํƒœ ๋“ฑ์˜ ์‚ฌ์šฉ ํŽธ์˜๋ฅผ ์œ„ํ•ด ๋ชจ๋“  HTTP ์‘๋‹ต ์ฝ”๋“œ๋Š” 200 ์œผ๋กœ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค.

HTTP/1.1 200 OK
Server: nginx
Content-Type: application/json

{}

์ด์— ๋”ฐ๋ผ ๋ชจ๋“  ์‘๋‹ต์€, ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํ˜•ํƒœ๋ฅผ ์ทจํ•ฉ๋‹ˆ๋‹ค.

{
    "meta": {
        "status": 200,
        "message": "OK"
    },
    "response": { ... }
}

Callback

JSONP ์ง€์›์„ ์œ„ํ•ด, jsonp= ํ˜น์€ callback= ํ˜•์‹์˜ ์ธ์ž๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. APIํ˜ธ์ถœ์‹œ ํ•ด๋‹น ์ธ์ž๋ฅผ ํฌํ•จํ•˜์—ฌ ํ˜ธ์ถœํ•  ๊ฒฝ์šฐ, ์‘๋‹ต์€ ํ•ด๋‹น ์ธ์ž๋กœ ์ „๋‹ฌ๋œ ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•˜๋Š” ํ˜•์‹์œผ๋กœ ๋ณ€๊ฒฝ๋ฉ๋‹ˆ๋‹ค.

ํŽ˜์ด์ง•

์š”์ฒญ์ด ์ผ์ • ๊ฐฏ์ˆ˜๋ฅผ ๋„˜์–ด๊ฐˆ ๊ฒฝ์šฐ, meta ์‘๋‹ต์— ํŽ˜์ด์ง• ์ •๋ณด๊ฐ€ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํ˜•ํƒœ๋กœ ํŽ˜์ด์ง€ ์š”์ฒญ์„ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

meta ์‘๋‹ต์— ํฌํ•จ๋˜๋Š” ํŽ˜์ด์ง• ์ •๋ณด๋Š” ์•„๋ž˜์™€ ๊ฐ™์€ ํ˜•์‹ ์ž…๋‹ˆ๋‹ค.

{
    "meta": {
        "paging": {
            "next": 2,
            "cur": 1,
            "prev": null
        }
    }
}

/channel

๊ฐœ9 ์ „์ฒด ์ฑ„๋„ ๋ชฉ๋ก์„ ๋ฐ˜ํ™˜ ํ•ฉ๋‹ˆ๋‹ค.

์š”์ฒญ

์‘๋‹ต

ํ•„๋“œ๋ช… Type ๊ธฐ๋Šฅ ์„ค๋ช…
name String ์ฑ„๋„๋ช… ๊ณ ์œ ํ•œ ๊ตฌ๋ถ„์ž(Uniqye Key)์ž…๋‹ˆ๋‹ค.
url String ์ฃผ์†Œ ์›น์—์„œ ์ฑ„๋„์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋Š” ๊ณ ์œ ๋งํฌ(Permalink)์ž…๋‹ˆ๋‹ค.
feed String ํ”ผ๋“œ์ฃผ์†Œ ์ฑ„๋„์˜ ์—…๋ฐ์ดํŠธ๋ฅผ ๋ฐ›์•„๋ณผ ์ˆ˜ ์žˆ๋Š” RSS ์ฃผ์†Œ ์ž…๋‹ˆ๋‹ค.
last_published_at String ์ตœ๊ทผํ•ญ๋ชฉ ์ฑ„๋„์— ๊ฐ€์žฅ ๋งˆ์ง€๋ง‰์— ์—…๋กœ๋“œ๋œ ๊ฐœ๊ทธ์˜ ์‹œ๊ฐ„์œผ๋กœ ISO8601 ํ˜•์‹ ์ž…๋‹ˆ๋‹ค.
count Number ํ•ญ๋ชฉ๊ฐฏ์ˆ˜ ์ฑ„๋„์— ์—…๋กœ๋“œ ๋˜์–ด ์žˆ๋Š” ํ•ญ๋ชฉ์˜ ์ด ์ˆ˜ ์ž…๋‹ˆ๋‹ค.
latest_gag GAG ์ตœ๊ทผํ•ญ๋ชฉ ์ฑ„๋„์— ๊ฐ€์žฅ ๋งˆ์ง€๋ง‰์— ์—…๋กœ๋“œ๋œ ํ•ญ๋ชฉ์˜ ๋ฐ์ดํ„ฐ ์ž…๋‹ˆ๋‹ค.

์˜ˆ์ œ

{
    "meta": {
        "status": 200,
        "message": "OK"
    },
    "response": [
        {
            "name": "GAE9",
            "url": "http://gae9.com/channel/1",
            "feed": "http://gae9.com/channel/1/feed",
            "last_published_at": "2012-11-05T11:11:11Z",
            "count": 9292,
            "latest_gag": { ... }
        },
    ]
}

/channel/<channel>

์ง€์ •ํ•œ <channel> ์ •๋ณด๋ฅผ ๋ฐ˜ํ™˜ ํ•ฉ๋‹ˆ๋‹ค.

์š”์ฒญ

์‘๋‹ต

ํ•„๋“œ๋ช… Type ๊ธฐ๋Šฅ ์„ค๋ช…
name String ์ฑ„๋„๋ช… ๊ณ ์œ ํ•œ ๊ตฌ๋ถ„์ž(Uniqye Key)์ž…๋‹ˆ๋‹ค.
url String ์ฃผ์†Œ ์›น์—์„œ ์ฑ„๋„์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋Š” ๊ณ ์œ ๋งํฌ(Permalink)์ž…๋‹ˆ๋‹ค.
feed String ํ”ผ๋“œ์ฃผ์†Œ ์ฑ„๋„์˜ ์—…๋ฐ์ดํŠธ๋ฅผ ๋ฐ›์•„๋ณผ ์ˆ˜ ์žˆ๋Š” RSS ์ฃผ์†Œ ์ž…๋‹ˆ๋‹ค.
last_published_at String ์ตœ๊ทผํ•ญ๋ชฉ ์ฑ„๋„์— ๊ฐ€์žฅ ๋งˆ์ง€๋ง‰์— ์—…๋กœ๋“œ๋œ ๊ฐœ๊ทธ์˜ ์‹œ๊ฐ„์œผ๋กœ ISO8601 ํ˜•์‹ ์ž…๋‹ˆ๋‹ค.
count Number ํ•ญ๋ชฉ๊ฐฏ์ˆ˜ ์ฑ„๋„์— ์—…๋กœ๋“œ ๋˜์–ด ์žˆ๋Š” ํ•ญ๋ชฉ์˜ ์ด ์ˆ˜ ์ž…๋‹ˆ๋‹ค.
latest_gag GAG ์ตœ๊ทผํ•ญ๋ชฉ ์ฑ„๋„์— ๊ฐ€์žฅ ๋งˆ์ง€๋ง‰์— ์—…๋กœ๋“œ๋œ ํ•ญ๋ชฉ์˜ ๋ฐ์ดํ„ฐ ์ž…๋‹ˆ๋‹ค.

์˜ˆ์ œ

{
    "meta": {
        "status": 200,
        "message": "OK"
    },
    "response": {
        "name": "GAE9",
        "url": "http://gae9.com/channel/1",
        "feed": "http://gae9.com/channel/1/feed",
        "last_published_at": "2012-11-05T11:11:11Z",
        "count": 9292,
        "latest_gag": { ... }
    }
}

/tag

๋“ฑ๋ก๋œ ๋ชจ๋“  ํƒœ๊ทธ์˜ ๋ชฉ๋ก์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

์š”์ฒญ

์‘๋‹ต

ํ•„๋“œ๋ช… Type ๊ธฐ๋Šฅ ์„ค๋ช…
name String ์ด๋ฆ„ ํƒœ๊ทธ๋ช…
permalink String ๊ณ ์œ ์ฃผ์†Œ ๊ทธ์˜ ๊ณ ์œ ์ฃผ์†Œ(URL)
count Number ์ด๊ฐฏ์ˆ˜ ํ•ด๋‹น ํƒœ๊ทธ๋กœ ํƒœ๊น…๋œ ์ปจํ…์ธ ์˜ ์ˆ˜

์˜ˆ์ œ

{
    "meta": {
        "status": 200,
        "message": "OK"
    },
    "response": [
        {
            "name": "\\uace0\\uc591\\uc774",
            "permalink": "http://gae9.com/search?tags=\uace0\uc591\uc774",
            "count": 100
        }
    ]
}

/gag

์ „์ฒด ๊ฐœ๊ทธ ๋ชฉ๋ก์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

์š”์ฒญ

์‘๋‹ต

/gag/<gag id> ํ•ญ๋ชฉ์„ ์ฐธ๊ณ ํ•˜์„ธ์š”.

/gag/<gag id>

<gag id> ์— ํ•ด๋‹นํ•˜๋Š” ๋‚ด์šฉ์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

์š”์ฒญ

์‘๋‹ต

ํ•„๋“œ๋ช… Type ๊ธฐ๋Šฅ ์„ค๋ช…
id String ๊ณ ์œ ID ํ•ด๋‹น ๊ฐœ๊ทธ์˜ ๊ณ ์œ  ๊ตฌ๋ถ„์ž(Unique Key) ์ž…๋‹ˆ๋‹ค.
permalink String ๊ณ ์œ ์ฃผ์†Œ ํ•ด๋‹น ๊ฐœ๊ทธ๋ฅผ ๊ณ ์œ ํ•˜๊ฒŒ ํ‘œํ˜„ํ•˜๋Š” URL ์ž…๋‹ˆ๋‹ค.
author Hash ์ž‘์„ฑ์ž ย 
author.id String ๊ณ ์œ ID ์ž‘์„ฑ์ž์˜ ๊ณ ์œ  ๊ตฌ๋ถ„์ž(Unique Key) ์ž…๋‹ˆ๋‹ค.
author.name String ์ž‘์„ฑ์ž๋ช… ์ž‘์„ฑ์ž์˜ ํ‘œ์‹œ๋ช…(Screen Name) ์ž…๋‹ˆ๋‹ค.
title String ์ œ๋ชฉ ํ•ด๋‹น ๊ฐœ๊ทธ์˜ ์ œ๋ชฉ
published_at String ์ž‘์„ฑ์ผ ISO8601 ํ˜•์‹์˜ ๊ฐœ๊ทธ ์ž‘์„ฑ์ผ ์ž…๋‹ˆ๋‹ค.
score Number ์ ์ˆ˜ ํ•ด๋‹น ๊ฐœ๊ทธ๊ฐ€ ํš๋“ํ•œ ์ ์ˆ˜ ์ž…๋‹ˆ๋‹ค.
share Number ๊ณต์œ  ํ•ด๋‹น ๊ฐœ๊ทธ๊ฐ€ SNS์—์„œ ๊ณต์œ ๋œ ์ˆ˜๋ฅผ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค.
likes Number ์ข‹์•„์š” ํ•ด๋‹น ๊ฐœ๊ทธ๊ฐ€ ์‚ฌ์ดํŠธ์—์„œ ํš๋“ํ•œ ์ข‹์•„์š”์˜ ์ˆ˜๋ฅผ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค.
tags Array ํƒœ๊ทธ ย 
tags.name String ํƒœ๊ทธ๋ช… ํ•ด๋‹น ๊ฐœ๊ทธ์— ํƒœ๊ทธ๋œ ํƒœ๊ทธ์˜ ์ด๋ฆ„์ž…๋‹ˆ๋‹ค.
tags.permalink String ํƒœ๊ทธ์ฃผ์†Œ ํ•ด๋‹น ํƒœ๊ทธ์— ๋Œ€ํ•œ ๊ณ ์œ  URL ์ž…๋‹ˆ๋‹ค.
images Array ์ด๋ฏธ์ง€ ํฌ๊ธฐ๋ณ„ ์ด๋ฏธ์ง€ ์ข…๋ฅ˜๋ฅผ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค.
images.name String ์ข…๋ฅ˜ ์ด๋ฏธ์ง€์˜ ์ข…๋ฅ˜๋ฅผ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค.
images.width Number ๊ฐ€๋กœํฌ๊ธฐ ์ด๋ฏธ์ง€์˜ ๊ฐ€๋กœํฌ๊ธฐ(๋‹จ์œ„: px)๋ฅผ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค.
images.height Number ์„ธ๋กœํฌ๊ธฐ ์ด๋ฏธ์ง€์˜ ์„ธ๋กœํฌ๊ธฐ(๋‹จ์œ„: px)๋ฅผ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค.
images.url String ์ฃผ์†Œ ์ด๋ฏธ์ง€์˜ URL ์ž…๋‹ˆ๋‹ค.
source String ์ถœ์ฒ˜ ํ•ด๋‹น ์ปจํ…์ธ ์˜ ์ถœ์ฒ˜๋ฅผ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค.
type String ์ข…๋ฅ˜ ํ•ด๋‹น ์ปจํ…์ธ ์˜ ์ข…๋ฅ˜๋ฅผ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค.(image|video)
type_features Hash ๋ถ€๊ฐ€์ •๋ณด ์ข…๋ฅ˜๋ณ„๋กœ ์ถ”๊ฐ€์ ์ธ ์ •๋ณด๊ฐ€ ๋‹ด๊น๋‹ˆ๋‹ค.

์ปจํ…์ธ  ๋ถ€๊ฐ€์ •๋ณด

๊ฐœ9 ์—์„œ ์ œ๊ณตํ•˜๋Š” ๋ชจ๋“  ์ปจํ…์ธ ๋Š” image ํ˜น์€ video ์ค‘ ํ•˜๋‚˜์˜ ์ข…๋ฅ˜์ž…๋‹ˆ๋‹ค. ์•ˆํƒ€๊น๊ฒŒ๋„, ์ปจํ…์ธ ์ค‘ ์ผ๋ถ€๋Š” ์™ธ๋ถ€์‚ฌ์—…์ž์˜ ์ปจํ…์ธ ์— ์˜์กดํ•ด์•ผ ํ•˜๋ฏ€๋กœ API ์—์„œ ํ‘œ์ค€ํ™”๋œ ์‘๋‹ต์„ ์ œ๊ณตํ•˜๊ธฐ ์–ด๋ ค์šด ๋ฉด์ด ์žˆ์Šต๋‹ˆ๋‹ค.

๋”ฐ๋ผ์„œ, ๊ฐœ9 ์—์„œ๋Š” type_features ๋ผ๋Š” ๋ถ€๊ฐ€์ •๋ณด๋ฅผ ๊ฐ ์ปจํ…์ธ  ์ข…๋ฅ˜์— ๋งž๊ฒŒ ์ถ”๊ฐ€์ ์ธ ์‘๋‹ต์œผ๋กœ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

image

"type-features": {
    "content-type": "image/gif"
    "animated": true
}

video

type_features["provider"] ์ •๋ณด์— ๋”ฐ๋ผ์„œ ๊ฐ ๋‹ค๋ฅธ ํ˜•ํƒœ์˜ ๋ถ€๊ฐ€์ •๋ณด๊ฐ€ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.

youtube

"type_features": {
    "permalink": "http://youtu.be/lhe7IiQ_4xA",
    "provider": "youtube",
    "thumbnails": {
        "default": "http://img.youtube.com/vi/lhe7IiQ_4xA/default.jpg",
        "hqdefault": "http://img.youtube.com/vi/lhe7IiQ_4xA/hqdefault.jpg"
    }
}

vimeo

"type_features": {
    "permalink": "http://vimeo.com/52942657",
    "provider": "vimeo",
    "oembed": "http://vimeo.com/api/oembed.json?url=http%3A//vimeo.com/52942657"
}

tvpot

"type_features": {
    "permalink": "http://tvpot.daum.net/v/vc8abuorokllLLHxlkuTxEx",
    "provider": "tvpot",
    "thumbnails": {
        "default": "http://i1.daumcdn.net/svc/image/U03/tvpot_thumb/vc8abuorokllLLHxlkuTxEx/thumb.png",
        "thumb_1": "http://i1.daumcdn.net/svc/image/U03/tvpot_thumb/vc8abuorokllLLHxlkuTxEx/1.png",
        "thumb_2": "http://i1.daumcdn.net/svc/image/U03/tvpot_thumb/vc8abuorokllLLHxlkuTxEx/2.png",
        "thumb_3": "http://i1.daumcdn.net/svc/image/U03/tvpot_thumb/vc8abuorokllLLHxlkuTxEx/3.png",
    }

}

์ด๋ฏธ์ง€์˜ ์ข…๋ฅ˜

๊ฐœ9 ์—์„œ๋Š” ํŠน์ • ๊ฐœ๊ทธ์˜ ์ด๋ฏธ์ง€์— ๋Œ€ํ•ด์„œ ๋‹ค์–‘ํ•œ ํฌ๊ธฐ์˜ ์ด๋ฏธ์ง€๋ฅผ ์ƒ์„ฑํ•˜์—ฌ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

์ข…๋ฅ˜ ํฌ๊ธฐ ๊ทœ์น™
full ์›๋ณธ ํฌ๊ธฐ
thumbnail ๊ฐ€๋กœ ํฌ๊ธฐ๋ฅผ ์ตœ๋Œ€ 480px ๊นŒ์ง€ (id 172๊นŒ์ง€๋Š” 640px) ํ—ˆ์šฉํ•˜๋Š” ํฌ๊ธฐ๋กœ ์กฐ์ • ๋ฉ๋‹ˆ๋‹ค.
small 80px*80px ํฌ๊ธฐ์˜ ์ •์‚ฌ๊ฐํ˜•์œผ๋กœ ์กฐ์ •ํ•ฉ๋‹ˆ๋‹ค.

๋งŒ์•ฝ, ์—…๋กœ๋“œ๋œ ์ปจํ…์ธ ๊ฐ€ Animated GIF ๋ผ๋ฉด ๋‹ค์Œ ๊ทœ์น™์„ ๋”ฐ๋ฆ…๋‹ˆ๋‹ค.

full ์›๋ณธ์˜ ์—๋‹ˆ๋ฉ”์ด์…˜์„ ๊ทธ๋Œ€๋กœ ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค.
thumbnail ์ฒซ ํ”„๋ ˆ์ž„๋งŒ ์ถ”์ถœํ•˜์—ฌ ์ •์  ์ด๋ฏธ์ง€๋กœ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.(ํฌ๊ธฐ ๋ณ€๊ฒฝ ์—†์Œ)
small ์ฒซ ํ”„๋ ˆ์ž„๋งŒ ์ถ”์ถœํ•˜์—ฌ ์ •์  ์ด๋ฏธ์ง€๋กœ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.(ํฌ๊ธฐ ๋ณ€๊ฒฝ ์—†์Œ)

์˜ˆ์ œ

{
    "meta": {
        "status": 200,
        "message": "OK"
    },
    "response": {
        "id": "16232",
        "permalink": "http://gae9.com/gag/16232",
        "author": {
            "id": "5",
            "name": "kkungkkung"
        },
        "title": "\\uc800\\uae30.. \\ud558\\uc774\\ud30c\\uc774\\ube0c\\uc880 \\ud574\\uc8fc\\uc9c0 \\uc54a\\uc744\\ub798?",
        "published_at": "2012-10-25T02:10:00Z",
        "score": 7,
        "share": 13,
        "likes": 4,
        "tags": [
            {
                "name": "\\uace0\\uc591\\uc774",
                "permalink": "http://gae9.com/search?tags=\uace0\uc591\uc774"
            }
        ],
        "images": [
            {
                "name": "full",
                "width": 1024,
                "height" 768,
                "url": ""
            },
            {
                "name": "thumbnail",
                "width": 480,
                "height": 480,
                "url": ""
            },
            {
                "name": "small",
                "width": 80,
                "height": 80,
                "url": ""
            }
        ],
        "type": "image",
        "type_features": {
            "content-type": "image/jpeg"
        }
        "source": "http://imgur.com/gallery/ZoEY8",
    }
}

/gag/<gag id>/image

<gag id> ์— ํ•ด๋‹นํ•˜๋Š” ๋‚ด์šฉ์˜ ๊ฐ€์žฅ ํฐ ์ด๋ฏธ์ง€ ์ฃผ์†Œ๋ฅผ 302 Found Redirect ํ•ฉ๋‹ˆ๋‹ค.

์ฃผ์˜: ๋‹น API๋Š” ์œ ์ผํ•˜๊ฒŒ api.gae9.com ์ด ์•„๋‹Œ gae9.com ์œผ๋กœ ํ˜ธ์ถœ ํ•ฉ๋‹ˆ๋‹ค.

์š”์ฒญ

์‘๋‹ต

  • 415 UNSUPPORTED MEDIA TYPE: ๋™์˜์ƒ๋“ฑ ๋‹จ์ˆœํžˆ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋Š” ๊ฒฝ์šฐ ๋ฐ˜ํ™˜๋ฉ๋‹ˆ๋‹ค.
  • 302 Found: ์ด๋ฏธ์ง€์˜ ์ฃผ์†Œ์ž…๋‹ˆ๋‹ค.

/search

๋‹ค์–‘ํ•œ ๋ฐฉ๋ฒ•์œผ๋กœ ๊ฐœ9 ์ปจํ…์ธ ๋ฅผ ๊ฒ€์ƒ‰ํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์ž…๋‹ˆ๋‹ค.

์š”์ฒญ

๊ฒ€์ƒ‰ API๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ข…๋ฅ˜์˜ ์ธ์ž๋ฅผ ์ง€์›ํ•˜๋ฉฐ, 2๊ฐœ์˜ ์ธ์ž๋ฅผ ์กฐํ•ฉํ•˜์—ฌ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, sort ๋ฅผ ์ œ์™ธํ•œ ํ•œ๊ฐ€์ง€ ์ด์ƒ์˜ ์ธ์ž๊ฐ€ ์ œ๊ณต๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ข…๋ฅ˜ ์„ค๋ช… ๊ธฐ๋ณธ๊ฐ’
q ์ œ๋ชฉ๋“ฑ์˜ ๊ฒ€์ƒ‰์–ด NULL
tags ๋„์–ด์“ฐ๊ธฐ๋กœ ๊ตฌ๋ถ„ํ•˜๋Š” ํƒœ๊ทธ ๋ชฉ๋ก์œผ๋กœ AND ์งˆ์˜ ์ž…๋‹ˆ๋‹ค. NULL
type ์ปจํ…์ธ  ์ข…๋ฅ˜(image, animated, video) NULL
sort ์ •๋ ฌ ๋ฐฉ๋ฒ•์„ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค. hot
channel ํŠน์ • ์ฑ„๋„๋ช… ๋˜๋Š” ์ฑ„๋„์˜ ID๋กœ ๊ฒ€์ƒ‰ํ•ฉ๋‹ˆ๋‹ค. NULL

sort

์ •๋ ฌ ๋ฐฉ์‹์€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฐ’์ด ์ง€์›๋ฉ๋‹ˆ๋‹ค.

sort ์„ค๋ช…
hot ์ตœ์‹  ๊ฐœ๊ทธ๋“ค ์ค‘ ์ธ๊ธฐ์žˆ๋Š” ํ•ญ๋ชฉ๋“ค
best ํŠน์ • ๊ฐฏ์ˆ˜์˜ ์ตœ์‹  ๊ธ€ ์ค‘์—์„œ ๊ฐ€์žฅ ์ ์ˆ˜๊ฐ€ ๋†’์€ ํ•ญ๋ชฉ
new ์ตœ์‹ ์ˆœ

์‘๋‹ต

/gag ์™€ ๊ฐ™์€ ํ˜•์‹์œผ๋กœ ์‘๋‹ต์ด ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค.

์˜ˆ์ œ

About

GAE9.COM API Documents

Resources

Stars

11 stars

Watchers

4 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors