[주의!] 문서의 이전 버전(에 수정)을 보고 있습니다. 최신 버전으로 이동
1. 개요2. 용도3. API 사용 방법
3.1. python
3.1.1. 편집 시작
3.1.1.1. 결과
3.1.2. 편집 제출
3.1.2.1. 결과
3.1.3. 역링크 조회
3.1.3.1. 결과3.1.3.2. 토론 목록 조회
3.1.3.2.1. 결과

1. 개요[편집]

the seed 엔진에서 존재하는 권한 중 하나이다.

2. 용도[편집]

더시드엔진은 공개 API를 통한 외부 접속 기능을 지원한다. 단, API는 계정 사용자에 한해서 지원되며 API로 접속하려면 계정의 로그인 정보 대신 API Token이라는 256자리의 무작위 숫자+알파벳으로 구성된 개인 식별키가 필요하다.[1] 이를 이용해 웹브라우저가 아닌 봇, 터미널 프로그램등을 이용하여 엔진에 직접 접근하여 자동 편집 등의 위키 작업이 가능하다. 이 때 API를 사용하기 위해서 필요한 권한이 바로 이 권한이다.

더시드엔진에서 API는 기본적으로 보호 처리가 되어 있어서 이 권한이 없으면 API Token이 있어도 엔진 상에서 API 접근이 차단된다.[2] 따라서 API를 이용한 봇을 운용하려면 반드시 이 권한이 필요하다.

https://doc.theseed.io에서 API의 사용 방법을 확인할 수 있다.

3. API 사용 방법[편집]

1. 사용자가 요청하면 JSON으로 반환하게 된다.
2. API_TOKEN[3]에는 내 정보의 API Token[4] 발급 버튼을 눌러 자신의 계정 비밀번호를 입력한 뒤 나오는 token값을 적으면 된다.

3.1. python[편집]

3.1.1. 편집 시작[편집]

import requests

headers = {
    'Authorization': 'Bearer API_TOKEN',
}

requests.get('https://theseed.io/api/edit/%EB%8D%94%EC%83%88%EB%93%9C%EC%9C%84%ED%82%A4', headers=headers)

3.1.1.1. 결과[편집]
{
"text": "
\n[include(틀:더새드위키)]\n||<-2><table align=right><:><bgcolor=#fedcba>'{{{#black 더새드위키
The Sad Wiki}}}
' ||\n||<:><bgcolor=#fedcba>'{{{#black 개설 일자}}}' ||<#FFFFFF> 2021년 1월 25일[* [[더새드위키:가짜규칙]] 문서가 처음 \"차단회피\"라는 문서명으로 생성되고 더새드위키:가짜규칙 문서명으로 이동된 날짜 기준] ||\n||<:><bgcolor=#fedcba>'{{{#black 대표색}}}' ||<#FFFFFF> {{{#!wiki style=\"display: inline; background: #fedcba; border-radius: 3px; padding: 3px 4px\"\n{{{#000000 '살구색' {{{-2 (#fedcba)}}}}}}}}}[* 알파위키의 대표색인 #abcdef를 거꾸로 한 것이다.] ||\n||<:><bgcolor=#fedcba>'{{{#black 언어}}}' ||<#FFFFFF> 한국어 ||\n||<:><bgcolor=#fedcba>'{{{#black 위키 엔진}}}' ||<#FFFFFF> the seed ||\n||<:><bgcolor=#fedcba>'{{{#black 라이선스}}}' ||<#FFFFFF> CC BY-SA 4.0 ||\n||<:><bgcolor=#fedcba>'{{{#black 창립자}}}' ||<#FFFFFF> [[사용자:maca|maca]] ||\n||<:><bgcolor=#fedcba>'{{{#black 소유자}}}' ||<#FFFFFF> [[사용자:maca|maca]] ||\n||<:><bgcolor=#fedcba>'{{{#black 사무관}}}' ||<#FFFFFF> [[사용자:maca|maca]] ||\n||<:><bgcolor=#fedcba>'{{{#black 상임 관리자}}}' ||<#FFFFFF> [[사용자:maca|maca]][*+], [[사용자:Blank|Blank]] ||\n||<:><bgcolor=#fedcba>'{{{#black 운영관리관}}}' ||<#FFFFFF> [[사용자:maca|maca]], [[사용자:Blank|Blank]] ||\n||<:><bgcolor=#fedcba>'{{{#black 관리자}}}' ||<#FFFFFF> [[사용자:chodyyy|chodyyy]] ||\n[목차]\n= 개요 =\n>우리 모두가 창조해 나가는 가상의 위키, 더새드위키\n>----\n>더새드위키의 슬로건\n2021년 1월 25일 더시드위키에서 만들어진 더시드위키 내 가상의 위키이다. --더시드위키의 식민지다.-- 실제로 있는 위키는 아니다.\n\n= 트리비아 =\n * 번역하면 슬픈(sad) 위키라고 한다.\n * 네이버에 더새드위키라고 검색하면 더샌드위치(...)로 나온다.\n[각주]",
"exists": true,
"token": "Gg1GLvxEks+V3rS30qa2oelNP2VNxrGWC2HLKtBmH21/xoWCHpEdRbZ5liNh7IWI"
}

3.1.2. 편집 제출[편집]

  • 이곳의 token에는 편집 시작에서 JSON으로 받은 token값을 입력하면 된다.
import requests
import json

headers = {
    'Content-Type': 'application/json',
    'Authorization': 'Bearer API_TOKEN',
}

data = {
    'text': 'Hello, world', #수정할 내용
    'log': '',  #자동 편집 시 남길 편집 요약
    'token': received_token #편집 시작 시 받은 token
}

response = requests.post('https://theseed.io/api/edit/%EB%8D%94%EC%83%88%EB%93%9C%EC%9C%84%ED%82%A4', headers=headers, data=json.dumps(data))

3.1.2.1. 결과[편집]
{
  "status":"success",
  "rev":28
}

3.1.3. 역링크 조회[편집]

import requests

headers = {
    'Content-Type': 'application/json',
    'Authorization': 'Bearer API_TOKEN',
}

response = requests.get('https://theseed.io/api/backlink/%EB%8D%94%EC%83%88%EB%93%9C%EC%9C%84%ED%82%A4', headers=headers)

3.1.3.1. 결과[편집]
{
  "namespaces":[
    {"namespace":"문서","count":6},
    {"namespace":"틀","count":5},
    {"namespace":"분류","count":1}
  ],
  "backlinks":[
    {"document":"Thesadwiki","flags":"redirect"},
    {"document":"thesadwiki","flags":"redirect"},
    {"document":"더새드위키:sad스킨","flags":"link"},
    {"document":"더새드위키:권한 요청","flags":"link"},
    {"document":"슬픈 위키","flags":"redirect"},
    {"document":"위키 등급분류","flags":"link"}
  ],
  "from":null,
  "until":null
}

3.1.3.2. 토론 목록 조회[편집]
import requests
headers = {
    'Content-Type': 'application/json',
    'Authorization': 'Bearer API_TOKEN',
}
response = requests.get('https://theseed.io/api/discuss/%EB%8D%94%EC%8B%9C%EB%93%9C%EC%9C%84%ED%82%A4:%EC%97%B0%EC%8A%B5%EC%9E%A5', headers=headers)

3.1.3.2.1. 결과[편집]
[
  {
    "slug": "GleamingSqualidRedPies",
    "topic": "더시드위키 토론 연습장",
    "updated_date": 1736493937,
    "status": "normal"
  }
]
[1] API Token은 로그인 후 '우측 상단 프로필 메뉴>내 정보' 페이지에서 최하단에 있는 API Token 항목의 발급 버튼을 누르고 계정의 비밀번호를 입력해서 발급받을 수 있다. 참고로 한번 발급받은 API Token키는 반영구적으로 유지되지만, 최초 발급 때를 제외하고 재확인할 방법이 아예 없어서 따로 저장을 해두어야 한다. 토큰값을 잊어버려서 재발급하려면 그냥 최초 발급이랑 똑같이 발급받으면 되는데 이 경우 기존 토큰은 만료되고 새 토큰값이 발급되는 식이다.[2] 이 권한이 없는 상태에서 API 접속 시도 시 어떤 작업을 하더라도 접근 권한이 없다는 '403(Forbidden)' 에러를 반환한다.[3] 'Authorization': 'Bearer API_TOKEN'의 API_TOKEN
이때, Bearer는 제거하면 안 된다.
[4] 유출되지 않도록 유의해야한다.