[주의!] 문서의 이전 버전(에 수정)을 보고 있습니다. 최신 버전으로 이동
the seed 엔진의 권한 |
[ 펼치기 · 접기 ] |
1. 개요[편집]
the seed 엔진에서 존재하는 권한 중 하나이다.
2. 용도[편집]
더시드엔진은 공개 API를 통한 외부 접속 기능을 지원한다. 단, API는 계정 사용자에 한해서 지원되며 API로 접속하려면 계정의 로그인 정보 대신 API Token이라는 256자리의 무작위 숫자+알파벳으로 구성된 개인 식별키가 필요하다.[1] 이를 이용해 웹브라우저가 아닌 봇, 터미널 프로그램등을 이용해 엔진에 직접 접근하여 자동 편집 등의 위키 작업이 가능하다. 이 때 API를 사용하기 위해서 필요한 권한이 바로 이 권한이다.
더시드엔진에서 API는 기본적으로 보호 처리가 되어 있어서 이 권한이 없으면 API Token이 있어도 엔진 상에서 API 접근이 차단된다.[2] 따라서 API를 이용한 봇을 운용하려면 반드시 이 권한이 필요하다.
https://doc.theseed.io에서 API의 사용 방법을 확인할 수 있다.
더시드엔진에서 API는 기본적으로 보호 처리가 되어 있어서 이 권한이 없으면 API Token이 있어도 엔진 상에서 API 접근이 차단된다.[2] 따라서 API를 이용한 봇을 운용하려면 반드시 이 권한이 필요하다.
https://doc.theseed.io에서 API의 사용 방법을 확인할 수 있다.
3. API 사용 방법[편집]
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] 유출되지 않도록 유의해야한다.
이때, Bearer는 제거하면 안 된다.[4] 유출되지 않도록 유의해야한다.