미디어위키 API 도움말
이 페이지는 자동으로 생성된 미디어위키 API 도움말 문서입니다.
설명 문서 및 예시: https://www.mediawiki.org/wiki/API
메인 모듈
- 출처: MediaWiki
- 라이선스: GPL-2.0-or-later
상태: 이 페이지에 보이는 모든 기능은 정상적으로 작동하지만, API는 여전히 활발하게 개발되고 있으며, 언제든지 변경될 수 있습니다. 업데이트 공지를 받아보려면 mediawiki-api-announce 메일링 리스트를 구독하십시오.
잘못된 요청: API에 잘못된 요청이 전송되면 "MediaWiki-API-Error" 키가 포함된 HTTP 헤더가 전송되며 반환되는 헤더와 오류 코드의 값은 모두 동일한 값으로 설정됩니다. 자세한 정보에 대해서는 API:오류와 경고를 참조하십시오.
테스트하기: API 요청 테스트를 용이하게 하려면, Special:ApiSandbox를 보십시오.
- action
수행할 동작
- block
- 사용자를 차단합니다.
- changeauthenticationdata
- 현재 사용자의 인증 데이터를 변경합니다.
- changecontentmodel
- 문서의 콘텐츠 모델을 변경
- checktoken
- action=query&meta=tokens의 토큰의 유효성을 확인합니다.
- clearhasmsg
- 현재 사용자의
hasmsg
플래그를 비웁니다. - clientlogin
- 상호작용 플로우를 이용하여 위키에 로그인합니다.
- compare
- 두 문서 간의 차이를 가져옵니다.
- createaccount
- 새 사용자 계정을 만듭니다.
- delete
- 문서를 삭제합니다.
- echomarkread
- 현재 사용자의 알림을 읽은 것으로 표시합니다.
- echomarkseen
- 현재 사용자가 알림을 본 것으로 표시합니다.
- echomute
- 특정 사용자나 문서로부터 오는 알림을 끄거나 다시 켭니다.
- edit
- 문서를 만들고 편집합니다.
- emailuser
- 사용자에게 이메일을 보냅니다.
- expandtemplates
- 위키텍스트 안에 모든 틀을 확장합니다.
- feedcontributions
- 사용자 기여 피드를 반환합니다.
- feedrecentchanges
- 최근 바뀜 피드를 반환합니다.
- feedwatchlist
- 주시문서 목록 피드를 반환합니다.
- filerevert
- 파일을 이전 판으로 되돌립니다.
- flow
- Allows actions to be taken on Structured Discussions pages.
- flow-parsoid-utils
- 위키텍스트와 HTML 간에 텍스트를 변환합니다.
- help
- 지정된 모듈의 도움말을 표시합니다.
- imagerotate
- 하나 이상의 그림을 회전합니다.
- import
- 다른 위키나 XML 파일로부터 문서를 가져옵니다.
- linkaccount
- 서드파티 제공자의 계정을 현재 사용자와 연결합니다.
- login
- 로그인한 다음 인증 쿠키를 가져옵니다.
- logout
- 로그아웃하고 세션 데이터를 지웁니다.
- managetags
- 변경 태그에 관한 관리 작업을 수행합니다.
- mergehistory
- 문서 역사를 합칩니다.
- move
- 문서 이동하기.
- opensearch
- OpenSearch 프로토콜을 이용하여 위키를 검색합니다.
- options
- 현재 사용자의 환경 설정을 변경합니다.
- paraminfo
- API 모듈의 정보를 가져옵니다.
- parse
- 내용을 변환하고 출력을 반환합니다.
- patrol
- 문서나 판을 점검하기.
- protect
- 문서의 보호 수준을 변경합니다.
- purge
- 주어진 제목을 위한 캐시를 새로 고침.
- query
- 미디어위키의 데이터 및 정보를 가져옵니다.
- removeauthenticationdata
- 현재 사용자의 인증 데이터를 제거합니다.
- resetpassword
- 비밀번호 재설정 이메일을 사용자에게 보냅니다.
- revisiondelete
- 판을 삭제하거나 되살립니다.
- rollback
- 문서의 마지막 편집을 취소합니다.
- rsd
- RSD (Really Simple Discovery) 스키마를 내보냅니다.
- setnotificationtimestamp
- 주시 중인 문서의 알림 타임스탬프를 업데이트합니다.
- setpagelanguage
- 문서의 언어를 변경합니다.
- tag
- 개별 판이나 기록 항목에서 변경 태그를 추가하거나 제거합니다.
- templatedata
- TemplateData 확장 기능에 의해 저장된 데이터를 가져옵니다.
- unblock
- 사용자를 차단 해제합니다.
- undelete
- 삭제된 문서의 판을 복구합니다.
- unlinkaccount
- 현재 사용자에 연결된 타사 계정을 제거합니다.
- upload
- 파일을 업로드하거나 대기 중인 업로드의 상태를 가져옵니다.
- userrights
- 사용자의 그룹 권한을 변경합니다.
- validatepassword
- 위키의 비밀번호 정책에 근간하여 비밀번호를 확인합니다.
- watch
- 현재 사용자의 주시목록에서 문서를 추가하거나 제거합니다.
- tokens
- 구식입니다. 데이터 수정 작업을 위해 토큰을 가져옵니다.
- cspreport
- 내부 변수입니다. 브라우저가 콘텐츠 보안 정책의 위반을 보고하기 위해 사용합니다. 이 모듈은 SCP를 준수하는 웹 브라우저에 의해 자동으로 사용될 때를 제외하고는 사용해서는 안 됩니다.
- stashedit
- 내부 변수입니다. 공유된 캐시에서 편집을 준비합니다.
- visualeditor
- 내부 변수입니다. Parsoid 서비스에서 문서를 위해 HTML5를 반환합니다.
- visualeditoredit
- 내부 변수입니다. HTML5 페이지를 미디어위키로 저장합니다. (Parsoid 서비스를 통해 위키텍스트로 변환)
- 다음 값 중 하나: block, changeauthenticationdata, changecontentmodel, checktoken, clearhasmsg, clientlogin, compare, createaccount, delete, echomarkread, echomarkseen, echomute, edit, emailuser, expandtemplates, feedcontributions, feedrecentchanges, feedwatchlist, filerevert, flow-parsoid-utils, flow, help, imagerotate, import, linkaccount, login, logout, managetags, mergehistory, move, opensearch, options, paraminfo, parse, patrol, protect, purge, query, removeauthenticationdata, resetpassword, revisiondelete, rollback, rsd, setnotificationtimestamp, setpagelanguage, tag, templatedata, unblock, undelete, unlinkaccount, upload, userrights, validatepassword, watch, tokens, cspreport, stashedit, visualeditor, visualeditoredit 또는 다른 문자열: block, changeauthenticationdata, changecontentmodel, checktoken, clearhasmsg, clientlogin, compare, createaccount, delete, echomarkread, echomarkseen, echomute, edit, emailuser, expandtemplates, feedcontributions, feedrecentchanges, feedwatchlist, filerevert, flow-parsoid-utils, flow, help, imagerotate, import, linkaccount, login, logout, managetags, mergehistory, move, opensearch, options, paraminfo, parse, patrol, protect, purge, query, removeauthenticationdata, resetpassword, revisiondelete, rollback, rsd, setnotificationtimestamp, setpagelanguage, tag, templatedata, unblock, undelete, unlinkaccount, upload, userrights, validatepassword, watch, tokens, cspreport, stashedit, visualeditor, visualeditoredit
- 기본값: help
- format
출력값의 형식.
- 다음 값 중 하나: json, jsonfm, none, php, phpfm, rawfm, xml, xmlfm 또는 다른 문자열: json, jsonfm, none, php, phpfm, rawfm, xml, xmlfm
- 기본값: jsonfm
- maxlag
최대 랙은 미디어위키가 데이터베이스 복제된 클러스터에 설치되었을 때 사용될 수 있습니다. 특정한 행동이 사이트 복제 랙을 유발할 때, 이 변수는 클라이언트가 복제 랙이 설정된 숫자 아래로 내려갈 때까지 기다리도록 지시합니다. 과도한 랙의 경우, maxlag 오류 코드와 $host 대기 중: $lag초 지연되었습니다 메시지가 제공됩니다.
매뉴얼: Maxlag 변수에서 더 많은 정보를 얻을 수 있습니다.- Type: integer
- smaxage
s-maxage
HTTP 캐시 컨트롤 헤더를 설정합니다. 오류는 캐시되지 않습니다.- Type: integer
- 기본값: 0
- maxage
max-age
HTTP 캐시 컨트롤 헤더를 설정합니다. 오류는 캐시되지 않습니다.- Type: integer
- 기본값: 0
- assert
user 플래그가 설정되어 있다면 로그인 여부를 체크하며, anon 플래그가 설정되어 있다면 로그인되지 않았는지 확인하고, bot 플래그가 설정되어 있다면 봇 사용자 권한이 설정되어 있는지 확인합니다.
- 다음 값 중 하나: anon, bot, user 또는 다른 문자열: anon, bot, user
- assertuser
현재 사용자가 지명된 사용자인지 확인합니다.
- Type: user, by 사용자 이름
- requestid
주어진 요청 값은 응답에 포함됩니다. 요청을 구분하기 위해 사용될 수 있습니다.
- servedby
결과에 요청을 처리한 호스트네임을 포함합니다.
- Type: boolean (details)
- curtimestamp
결과의 타임스탬프를 포함합니다.
- Type: boolean (details)
- responselanginfo
uselang 및 errorlang에 사용되는 언어를 결과에 포함합니다.
- Type: boolean (details)
- origin
크로스 도메인 AJAX 요청 (CORS)을 사용하여 API에 접근할 때, 이것을 발신 도메인으로 설정하십시오. 모든 pre-flight 요청에 포함되어야 하며, 이에 따라 (POST 본문이 아닌) 요청 URI의 일부여야 합니다.
인증된 요청의 경우,
Origin
헤더의 발신지들 중 하나와 정확히 일치해야 하므로 https://en.wikipedia.org 또는 https://meta.wikimedia.org와 같이 설정되어야 합니다. 이 변수가Origin
헤더와 일치하지 않으면 403 응답이 반환됩니다. 이 변수가Origin
헤더와 일치하고 발신지가 화이트리스트에 있을 경우Access-Control-Allow-Origin
과Access-Control-Allow-Credentials
헤더가 설정됩니다.인증되지 않은 요청의 경우, * 값을 지정하십시오. 이를 통해
Access-Control-Allow-Origin
헤더가 설정되지만Access-Control-Allow-Credentials
는false
로 설정되어 모든 사용자 지정 데이터가 제한을 받게 됩니다.- uselang
메시지 번역을 위한 언어입니다. action=query&meta=siteinfo에 siprop=languages를 함께 사용하면 언어 코드의 목록을 반환하고, user를 지정하면 현재 사용자의 언어 환경 설정을 사용하며, content를 지정하면 이 위키의 콘텐츠 언어를 사용합니다.
- 기본값: user
- errorformat
경고 및 오류 텍스트 출력을 위해 사용할 형식입니다.
- plaintext
- HTML 태그가 제거되고 엔티티가 치환된 위키텍스트입니다.
- wikitext
- 구문 분석되지 않은 위키텍스트입니다.
- html
- HTML입니다.
- raw
- 메시지 키와 변수입니다.
- none
- 텍스트 없이 오류 코드만 출력합니다.
- bc
- 미디어위키 1.29 이전에 사용된 형식입니다. errorlang 및 errorsuselocal은 무시됩니다.
- 다음 값 중 하나: bc, html, none, plaintext, raw, wikitext 또는 다른 문자열: bc, html, none, plaintext, raw, wikitext
- 기본값: bc
- errorlang
경고와 오류를 위해 사용할 언어입니다. siprop=languages가 포함된 action=query&meta=siteinfo는 언어 코드의 목록을 반환하고, content를 지정하면 이 위키의 내용 상의 언어를 사용하며, uselang을 지정하면 uselang 변수와 동일한 값을 사용합니다.
- 기본값: uselang
- errorsuselocal
지정하면 오류 텍스트가 미디어위키 이름공간에서 지역적으로 정의된 메시지를 사용합니다.
- Type: boolean (details)
- 메인 모듈의 도움말입니다.
- api.php?action=help [연습장에서 열기]
- 모든 도움말을 한 페이지로 모읍니다.
- api.php?action=help&recursivesubmodules=1 [연습장에서 열기]
데이터 유형
Input to MediaWiki should be NFC-normalized UTF-8. MediaWiki may attempt to convert other input, but this may cause some operations (such as edits with MD5 checks) to fail.
Parameters that take multiple values are normally submitted with the values separated using the pipe character, e.g. param=value1|value2 or param=value1%7Cvalue2. If a value must contain the pipe character, use U+001F (Unit Separator) as the separator and prefix the value with U+001F, e.g. param=%1Fvalue1%1Fvalue2.
Some parameter types in API requests need further explanation:
- boolean
Boolean parameters work like HTML checkboxes: if the parameter is specified, regardless of value, it is considered true. For a false value, omit the parameter entirely.
- expiry
Expiry values be relative (e.g. 5 months or 2 weeks) or absolute (e.g. 2014-09-18T12:34:56Z). For no expiry, use infinite, indefinite, infinity or never.
- timestamp
Timestamps may be specified in several formats, see the Timestamp library input formats documented on mediawiki.org for details. ISO 8601 date and time is recommended: 2001-01-15T14:56:00Z. Additionally, the string now may be used to specify the current timestamp.
틀 변수
틀 변수는 다른 일부 변수의 개별 값에 대한 API 모듈에 값이 필요한 경우를 지원합니다. 이를테면 과일을 요청하는 API 모듈이 있다면 fruits 변수를 사용하여 요청할 과일을 지정할 수 있으며 틀 변수 {fruit}-quantity를 사용하여 요청할 과일의 수를 지정할 수 있습니다. 사과 1개, 바나나 5개, 딸기 20개를 원하는 API 클라이언트는 fruits=apples|bananas|strawberries&apples-quantity=1&bananas-quantity=5&strawberries-quantity=20와 같은 요청을 수행할 수 있습니다.
크레딧
API 개발자:
- Yuri Astrakhan (만든이, 선임 개발자 2006년 9월~2007년 9월)
- Roan Kattouw (선임 개발자, 2007년 9월–2009년)
- Victor Vasiliev
- Bryan Tong Minh
- Sam Reed
- Brad Jorsch (선임 개발자 2013년–현재)
당신의 의견이나 제안, 질문은 mediawiki-api@lists.wikimedia.org 로 보내주시고, 버그 보고는 https://phabricator.wikimedia.org/ 에 해주시기 바랍니다.