미디어위키 API 도움말
이 페이지는 자동으로 생성된 미디어위키 API 도움말 문서입니다.
설명 문서 및 예시: https://www.mediawiki.org/wiki/Special:MyLanguage/API:Main_page
메인 모듈
- 출처: MediaWiki
- 라이선스: GPL-2.0-or-later
상태: 이 페이지에 보이는 모든 기능은 정상적으로 작동하지만, API는 여전히 활발하게 개발되고 있으며, 언제든지 변경될 수 있습니다. 업데이트 공지를 받아보려면 mediawiki-api-announce 메일링 리스트를 구독하십시오.
잘못된 요청: API에 잘못된 요청이 전송되면 "MediaWiki-API-Error" 키가 포함된 HTTP 헤더가 전송되며 반환되는 헤더와 오류 코드의 값은 모두 동일한 값으로 설정됩니다. 자세한 정보에 대해서는 API:오류와 경고를 참조하십시오.
테스트하기: API 요청 테스트를 용이하게 하려면, Special:ApiSandbox를 보십시오.
- action
수행할 동작
- abusefiltercheckmatch
- 편집 필터가 변수 집합, 편집, 또는 기록된 편집 필터 이벤트와 일치하는지 확인합니다.
- abusefilterchecksyntax
- 편집 필터의 구문을 검사합니다.
- abusefilterevalexpression
- 편집 필터의 식을 검사합니다.
- abusefilterunblockautopromote
- 편집 필터 동작으로 인해 자동 인증을 받지 못하도록 제한된 사용자의 제한을 해제합니다.
- abuselogprivatedetails
- 악용 기록 항목의 비공개 세부 사항을 봅니다.
- block
- 사용자를 차단합니다.
- changeauthenticationdata
- 현재 사용자의 인증 데이터를 변경합니다.
- changecontentmodel
- 문서의 콘텐츠 모델을 변경
- checktoken
- action=query&meta=tokens의 토큰의 유효성을 확인합니다.
- cirrus-config-dump
- CirrusSearch 구성의 덤프입니다.
- cirrus-mapping-dump
- 이 위키의 CirrusSearch 매핑의 덤프입니다.
- cirrus-profiles-dump
- 이 위키의 CirrusSearch 프로파일의 덤프입니다.
- cirrus-settings-dump
- 이 위키의 CirrusSearch 설정의 덤프입니다.
- clearhasmsg
- 현재 사용자의
hasmsg
플래그를 비웁니다. - clientlogin
- 상호작용 플로우를 이용하여 위키에 로그인합니다.
- compare
- 두 문서 간의 차이를 가져옵니다.
- createaccount
- 새 사용자 계정을 만듭니다.
- delete
- 문서를 삭제합니다.
- echomarkread
- 현재 사용자의 알림을 읽은 것으로 표시합니다.
- echomarkseen
- 현재 사용자가 알림을 본 것으로 표시합니다.
- echomute
- 특정 사용자나 문서로부터 오는 알림을 끄거나 다시 켭니다.
- edit
- 문서를 만들고 편집합니다.
- emailuser
- 사용자에게 이메일을 보냅니다.
- expandtemplates
- 위키텍스트 안에 모든 틀을 확장합니다.
- feedcontributions
- 사용자 기여 피드를 반환합니다.
- feedrecentchanges
- 최근 바뀜 피드를 반환합니다.
- feedwatchlist
- 주시문서 목록 피드를 반환합니다.
- filerevert
- 파일을 이전 판으로 되돌립니다.
- 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
- 문서의 언어를 변경합니다.
- spamblacklist
- 스팸 차단 목록에 대해 하나 이상의 URL의 유효성을 확인합니다.
- tag
- 개별 판이나 기록 항목에서 변경 태그를 추가하거나 제거합니다.
- thank
- 편집자에게 감사 알림을 보냅니다.
- unblock
- 사용자를 차단 해제합니다.
- undelete
- 삭제된 문서의 판을 복구합니다.
- unlinkaccount
- 현재 사용자에 연결된 타사 계정을 제거합니다.
- upload
- 파일을 업로드하거나 대기 중인 업로드의 상태를 가져옵니다.
- userrights
- 사용자의 그룹 권한을 변경합니다.
- validatepassword
- 위키의 비밀번호 정책에 근간하여 비밀번호를 확인합니다.
- watch
- 현재 사용자의 주시목록에서 문서를 추가하거나 제거합니다.
- cspreport
- 내부 변수입니다. 브라우저가 콘텐츠 보안 정책의 위반을 보고하기 위해 사용합니다. 이 모듈은 SCP를 준수하는 웹 브라우저에 의해 자동으로 사용될 때를 제외하고는 사용해서는 안 됩니다.
- stashedit
- 내부 변수입니다. 공유된 캐시에서 편집을 준비합니다.
- 다음 값 중 하나: abusefiltercheckmatch, abusefilterchecksyntax, abusefilterevalexpression, abusefilterunblockautopromote, abuselogprivatedetails, block, changeauthenticationdata, changecontentmodel, checktoken, cirrus-config-dump, cirrus-mapping-dump, cirrus-profiles-dump, cirrus-settings-dump, clearhasmsg, clientlogin, compare, createaccount, delete, echomarkread, echomarkseen, echomute, edit, emailuser, expandtemplates, feedcontributions, feedrecentchanges, feedwatchlist, filerevert, help, imagerotate, import, linkaccount, login, logout, managetags, mergehistory, move, opensearch, options, paraminfo, parse, patrol, protect, purge, query, removeauthenticationdata, resetpassword, revisiondelete, rollback, rsd, setnotificationtimestamp, setpagelanguage, spamblacklist, tag, thank, unblock, undelete, unlinkaccount, upload, userrights, validatepassword, watch, cspreport, stashedit 또는 다른 문자열: abusefiltercheckmatch, abusefilterchecksyntax, abusefilterevalexpression, abusefilterunblockautopromote, abuselogprivatedetails, block, changeauthenticationdata, changecontentmodel, checktoken, cirrus-config-dump, cirrus-mapping-dump, cirrus-profiles-dump, cirrus-settings-dump, clearhasmsg, clientlogin, compare, createaccount, delete, echomarkread, echomarkseen, echomute, edit, emailuser, expandtemplates, feedcontributions, feedrecentchanges, feedwatchlist, filerevert, help, imagerotate, import, linkaccount, login, logout, managetags, mergehistory, move, opensearch, options, paraminfo, parse, patrol, protect, purge, query, removeauthenticationdata, resetpassword, revisiondelete, rollback, rsd, setnotificationtimestamp, setpagelanguage, spamblacklist, tag, thank, unblock, undelete, unlinkaccount, upload, userrights, validatepassword, watch, cspreport, stashedit
- 기본값: help
- format
출력값의 형식.
- 다음 값 중 하나: json, jsonfm, none, php, phpfm, rawfm, xml, xmlfm 또는 다른 문자열: json, jsonfm, none, php, phpfm, rawfm, xml, xmlfm
- 기본값: jsonfm
- maxlag
최대 랙은 미디어위키가 데이터베이스 복제된 클러스터에 설치되었을 때 사용될 수 있습니다. 특정한 행동이 사이트 복제 랙을 유발할 때, 이 변수는 클라이언트가 복제 랙이 설정된 숫자 아래로 내려갈 때까지 기다리도록 지시합니다. 과도한 랙의 경우, maxlag 오류 코드와 $host 대기 중: $lag초 지연되었습니다 메시지가 제공됩니다.
매뉴얼: Maxlag 변수에서 더 많은 정보를 얻을 수 있습니다.- 유형: 정수
- smaxage
s-maxage
HTTP 캐시 컨트롤 헤더를 설정합니다. 오류는 캐시되지 않습니다.- 유형: 정수
- 기본값: 0
- maxage
max-age
HTTP 캐시 컨트롤 헤더를 설정합니다. 오류는 캐시되지 않습니다.- 유형: 정수
- 기본값: 0
- assert
user 플래그가 설정되어 있다면 로그인 여부를 체크하며, anon 플래그가 설정되어 있다면 로그인되지 않았는지 확인하고, bot 플래그가 설정되어 있다면 봇 사용자 권한이 설정되어 있는지 확인합니다.
- 다음 값 중 하나: anon, bot, user 또는 다른 문자열: anon, bot, user
- assertuser
현재 사용자가 지명된 사용자인지 확인합니다.
- 형태: 使用者 이름에 따른 사용자
- requestid
주어진 요청 값은 응답에 포함됩니다. 요청을 구분하기 위해 사용될 수 있습니다.
- servedby
결과에 요청을 처리한 호스트네임을 포함합니다.
- 유형: 불리언 (자세한 정보)
- curtimestamp
결과의 타임스탬프를 포함합니다.
- 유형: 불리언 (자세한 정보)
- responselanginfo
uselang 및 errorlang에 사용되는 언어를 결과에 포함합니다.
- 유형: 불리언 (자세한 정보)
- 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
- variant
언어의 변종입니다. 기본 언어가 변종 변환을 지원하는 경우에만 동작합니다.
- 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
지정하면 오류 텍스트가 미디어위키 이름공간에서 지역적으로 정의된 메시지를 사용합니다.
- 유형: 불리언 (자세한 정보)
- 메인 모듈의 도움말입니다.
- api.php?action=help [연습장에서 열기]
- 모든 도움말을 한 페이지로 모읍니다.
- api.php?action=help&recursivesubmodules=1 [연습장에서 열기]
데이터 유형
미디어위키의 입력은 NFC 정규화 UTF-8인 것이 좋습니다. 미디어위키는 다른 입력의 변환을 시도할 수 있지만 일부 동작(MD5 검사를 수반한 편집 등)을 실패할 수 있습니다.
여러 값을 받는 변수는 보통 파이프 문자를 사용하여 구분되는 값으로 제출합니다. (예: param=value1|value2 또는 param=value1%7Cvalue2) 값에 파이프 문자가 포함되어야 하는 경우 U+001F(단위 구분자)를 구분자로, 값의 접두사를 U+001F로 사용하십시오. (예: param=%1Fvalue1%1Fvalue2)
API 요청의 일부 변수 유형은 추가 설명이 필요합니다:
- boolean
불리언 변수는 HTML 체크상자처럼 동작합니다: 변수를 지정하면 값에 관계 없이 true로 간주됩니다. false 값의 경우 변수 전체를 제외합니다.
- expiry
만기 값은 상대값(예: 5 months 또는 2 weeks) 또는 절대값(예: 2014-09-18T12:34:56Z)입니다. 만기 값이 없는 경우 infinite, indefinite, infinity 또는 never를 사용합니다.
- timestamp
타임스탬프는 여러 형식으로 지정할 수 있습니다. 자세한 사항은 mediawiki.org에 문서화된 타임스탬프 라이브러리 입력 포맷을 참고하십시오. ISO 8601 날짜 및 시간이 권장됩니다: 2001-01-15T14:56:00Z. 또, 문자열 now를 사용하여 현재 타임스탬프를 지정할 수 있습니다.
틀 변수
틀 변수는 다른 일부 변수의 개별 값에 대한 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년–2020년)
당신의 의견이나 제안, 질문은 mediawiki-api@lists.wikimedia.org 로 보내주시고, 버그 보고는 https://phabricator.wikimedia.org/ 에 해주시기 바랍니다.