미디어위키 API 도움말

이 페이지는 자동으로 생성된 미디어위키 API 도움말 문서입니다.

설명 문서 및 예시: https://www.mediawiki.org/wiki/Special:MyLanguage/API:Main_page

메인 모듈

상태: 이 페이지에 보이는 모든 기능은 정상적으로 작동하지만, API는 여전히 활발하게 개발되고 있으며, 언제든지 변경될 수 있습니다. 업데이트 공지를 받아보려면 mediawiki-api-announce 메일링 리스트를 구독하십시오.

잘못된 요청: API에 잘못된 요청이 전송되면 "MediaWiki-API-Error" 키가 포함된 HTTP 헤더가 전송되며 반환되는 헤더와 오류 코드의 값은 모두 동일한 값으로 설정됩니다. 자세한 정보에 대해서는 API:오류와 경고를 참조하십시오.

테스트하기: API 요청 테스트를 용이하게 하려면, Special:ApiSandbox를 보십시오.

변수:
action

수행할 동작

abusefiltercheckmatch
편집 필터가 변수 집합, 편집, 또는 기록된 편집 필터 이벤트와 일치하는지 확인합니다.
abusefilterchecksyntax
편집 필터의 구문을 검사합니다.
abusefilterevalexpression
편집 필터의 식을 검사합니다.
abusefilterunblockautopromote
편집 필터 동작으로 인해 자동 인증을 받지 못하도록 제한된 사용자의 제한을 해제합니다.
abuselogprivatedetails
악용 기록 항목의 비공개 세부 사항을 봅니다.
antispoof
안티스푸프의 표준화 검사를 사용하여 사용자명을 검사합니다.
block
사용자를 차단합니다.
centralauthtoken
통합된 위키에서 인증 요청을 보내는 데 필요한 centralauthtoken을 받아옵니다.
centralnoticecdncacheupdatebanner
익명 사용자, 요청된 배너, 그리고 언어와 관련하여 CDN(프론트엔드) 캐시에 저장된 배너 콘텐츠의 새로 고침을 요청합니다
centralnoticechoicedata
지정된 프로젝트와 언어를 위한 배너 선택에 필요한 데이터를 가져옵니다
centralnoticequerycampaign
캠페인을 위한 모든 구성 설정을 가져옵니다.
changeauthenticationdata
현재 사용자의 인증 데이터를 변경합니다.
changecontentmodel
문서의 콘텐츠 모델을 변경
checktoken
action=query&meta=tokens의 토큰의 유효성을 확인합니다.
clearhasmsg
현재 사용자의 hasmsg 플래그를 비웁니다.
clientlogin
상호작용 플로우를 이용하여 위키에 로그인합니다.
compare
두 문서 간의 차이를 가져옵니다.
createaccount
새 사용자 계정을 만듭니다.
createlocalaccount
로컬 계정을 강제로 생성
delete
문서를 삭제합니다.
deletedumps
덤프를 삭제합니다.
deleteglobalaccount
통합 사용자 계정을 삭제합니다.
echomarkread
현재 사용자의 알림을 읽은 것으로 표시합니다.
echomarkseen
현재 사용자가 알림을 본 것으로 표시합니다.
echomute
특정 사용자나 문서로부터 오는 알림을 끄거나 다시 켭니다.
edit
문서를 만들고 편집합니다.
editmassmessagelist
대량 메시지 수신자 목록을 편집합니다.
emailuser
사용자에게 이메일을 보냅니다.
expandtemplates
위키텍스트 안에 모든 틀을 확장합니다.
feedcontributions
사용자 기여 피드를 반환합니다.
feedrecentchanges
최근 바뀜 피드를 반환합니다.
feedwatchlist
주시문서 목록 피드를 반환합니다.
filerevert
파일을 이전 판으로 되돌립니다.
generatedumps
덤프를 생성합니다.
globalblock
사용자를 전역 차단하거나 해제합니다.
globalpreferenceoverrides
현재 사용자의 전역 환경 설정의 로컬 오버라이드를 변경합니다.
globalpreferences
현재 사용자의 통합 계정 환경설정을 변경합니다.
globaluserrights
전역 사용자 그룹에서 사용자를 추가/제거합니다.
help
지정된 모듈의 도움말을 표시합니다.
imagerotate
하나 이상의 그림을 회전합니다.
import
다른 위키나 XML 파일로부터 문서를 가져옵니다.
jsonconfig
JsonConfig 하위 시스템으로의 직접 접근을 허용합니다.
languagesearch
임의의 스크립트에서 언어 이름을 검색합니다.
linkaccount
서드파티 제공자의 계정을 현재 사용자와 연결합니다.
login
로그인한 다음 인증 쿠키를 가져옵니다.
logout
로그아웃하고 세션 데이터를 지웁니다.
managetags
변경 태그에 관한 관리 작업을 수행합니다.
massmessage
문서 목록에 메시지를 보냅니다.
mergehistory
문서 역사를 합칩니다.
move
문서 이동하기.
opensearch
OpenSearch 프로토콜을 이용하여 위키를 검색합니다.
options
현재 사용자의 환경 설정을 변경합니다.
paraminfo
API 모듈의 정보를 가져옵니다.
parse
내용을 변환하고 출력을 반환합니다.
patrol
문서나 판을 점검하기.
protect
문서의 보호 수준을 변경합니다.
purge
주어진 제목을 위한 캐시를 새로 고침.
query
미디어위키의 데이터 및 정보를 가져옵니다.
removeauthenticationdata
현재 사용자의 인증 데이터를 제거합니다.
resetpassword
비밀번호 재설정 이메일을 사용자에게 보냅니다.
revisiondelete
판을 삭제하거나 되살립니다.
rollback
문서의 마지막 편집을 취소합니다.
rsd
RSD (Really Simple Discovery) 스키마를 내보냅니다.
setglobalaccountstatus
통합 사용자의 상태를 설정합니다.
setnotificationtimestamp
주시 중인 문서의 알림 타임스탬프를 업데이트합니다.
setpagelanguage
문서의 언어를 변경합니다.
shortenurl
긴 URL을 짧게 줄입니다.
spamblacklist
SpamBlacklist에 대해 하나 이상의 URL의 유효성을 확인합니다.
streamconfigs
Exposes event stream config. Returns only format=json with formatversion=2.
tag
개별 판이나 기록 항목에서 변경 태그를 추가하거나 제거합니다.
templatedata
TemplateData 확장 기능에 의해 저장된 데이터를 가져옵니다.
thank
편집자에게 감사 알림을 보냅니다.
titleblacklist
TitleBlacklist에 대해 문서 제목, 파일 이름, 사용자 이름을 검사합니다.
transcodereset
'transcode-reset' 권한이 있는 사용자는 트랜스코드 작업을 초기화하고 다시 실행할 수 있습니다.
unblock
사용자를 차단 해제합니다.
undelete
삭제된 문서의 판을 복구합니다.
unlinkaccount
현재 사용자에 연결된 타사 계정을 제거합니다.
upload
파일을 업로드하거나 대기 중인 업로드의 상태를 가져옵니다.
userrights
사용자의 그룹 권한을 변경합니다.
validatepassword
위키의 비밀번호 정책에 근간하여 비밀번호를 확인합니다.
viewdumps
지정된 유형, 파일 이름, 타임스탬프로 덤프를 표시합니다.
watch
현재 사용자의 주시목록에서 문서를 추가하거나 제거합니다.
wikidiscover
CreateWiki 위키팜에서 위키 목록을 가져옵니다.
categorytree
내부 변수입니다. CategoryTree 확장 기능을 위한 내부 모듈입니다.
cspreport
내부 변수입니다. 브라우저가 콘텐츠 보안 정책의 위반을 보고하기 위해 사용합니다. 이 모듈은 SCP를 준수하는 웹 브라우저에 의해 자동으로 사용될 때를 제외하고는 사용해서는 안 됩니다.
jsondata
내부 변수입니다. 지역화된 JSON 데이터를 검색합니다.
oathvalidate
내부 변수입니다. 2요소 인증 (OATH) 토큰을 검사합니다.
record-lint
내부 변수입니다. 데이터베이스에 린트 오류를 기록합니다
sanitize-mapdata
내부 변수입니다. Kartographer 확장을 위한 데이터 유효성 확인을 수행합니다
scribunto-console
내부 변수입니다. Scribunto 콘솔에서 XHR 요청을 서비스하기 위한 내부 모듈입니다.
stashedit
내부 변수입니다. 공유된 캐시에서 편집을 준비합니다.
timedtext
내부 변수입니다. Provides timed text content for usage by <track> elements
ulslocalization
내부 변수입니다. 주어진 언어로 ULS의 지역화를 가져옵니다.
ulssetlang
내부 변수입니다. 사용자의 선호하는 인터페이스 언어를 업데이트합니다.
visualeditor
내부 변수입니다. Parsoid 서비스에서 문서를 위해 HTML5를 반환합니다.
visualeditoredit
내부 변수입니다. HTML5 페이지를 미디어위키로 저장합니다. (Parsoid 서비스를 통해 위키텍스트로 변환)
다음 값 중 하나: abusefiltercheckmatch, abusefilterchecksyntax, abusefilterevalexpression, abusefilterunblockautopromote, abuselogprivatedetails, antispoof, block, centralauthtoken, centralnoticecdncacheupdatebanner, centralnoticechoicedata, centralnoticequerycampaign, changeauthenticationdata, changecontentmodel, checktoken, clearhasmsg, clientlogin, compare, createaccount, createlocalaccount, delete, deletedumps, deleteglobalaccount, echomarkread, echomarkseen, echomute, edit, editmassmessagelist, emailuser, expandtemplates, feedcontributions, feedrecentchanges, feedwatchlist, filerevert, generatedumps, globalblock, globalpreferenceoverrides, globalpreferences, globaluserrights, help, imagerotate, import, jsonconfig, languagesearch, linkaccount, login, logout, managetags, massmessage, mergehistory, move, opensearch, options, paraminfo, parse, patrol, protect, purge, query, removeauthenticationdata, resetpassword, revisiondelete, rollback, rsd, setglobalaccountstatus, setnotificationtimestamp, setpagelanguage, shortenurl, spamblacklist, streamconfigs, tag, templatedata, thank, titleblacklist, transcodereset, unblock, undelete, unlinkaccount, upload, userrights, validatepassword, viewdumps, watch, wikidiscover, categorytree, cspreport, jsondata, oathvalidate, record-lint, sanitize-mapdata, scribunto-console, stashedit, timedtext, ulslocalization, ulssetlang, visualeditor, visualeditoredit 또는 다른 문자열: abusefiltercheckmatch, abusefilterchecksyntax, abusefilterevalexpression, abusefilterunblockautopromote, abuselogprivatedetails, antispoof, block, centralauthtoken, centralnoticecdncacheupdatebanner, centralnoticechoicedata, centralnoticequerycampaign, changeauthenticationdata, changecontentmodel, checktoken, clearhasmsg, clientlogin, compare, createaccount, createlocalaccount, delete, deletedumps, deleteglobalaccount, echomarkread, echomarkseen, echomute, edit, editmassmessagelist, emailuser, expandtemplates, feedcontributions, feedrecentchanges, feedwatchlist, filerevert, generatedumps, globalblock, globalpreferenceoverrides, globalpreferences, globaluserrights, help, imagerotate, import, jsonconfig, languagesearch, linkaccount, login, logout, managetags, massmessage, mergehistory, move, opensearch, options, paraminfo, parse, patrol, protect, purge, query, removeauthenticationdata, resetpassword, revisiondelete, rollback, rsd, setglobalaccountstatus, setnotificationtimestamp, setpagelanguage, shortenurl, spamblacklist, streamconfigs, tag, templatedata, thank, titleblacklist, transcodereset, unblock, undelete, unlinkaccount, upload, userrights, validatepassword, viewdumps, watch, wikidiscover, categorytree, cspreport, jsondata, oathvalidate, record-lint, sanitize-mapdata, scribunto-console, stashedit, timedtext, ulslocalization, ulssetlang, visualeditor, visualeditoredit
기본값: help
format

출력값의 형식.

json
데이터를 JSON 형식으로 출력합니다.
jsonfm
데이터를 JSON 포맷으로 출력합니다. (HTML의 가독성 증가)
none
아무 것도 출력하지 않습니다.
php
데이터를 직렬화된 PHP 포맷으로 출력합니다.
phpfm
데이터를 PHP 포맷(HTML의 가독성 증가)으로 출력합니다.
rawfm
디버깅 요소를 포함하여 데이터를 JSON 형식으로 출력합니다. (HTML의 가독성 증가)
xml
데이터를 XML 형식으로 출력합니다.
xmlfm
데이터를 XML 포맷(가독성 높은 HTML 방식)으로 출력합니다.
다음 값 중 하나: 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

현재 사용자가 지명된 사용자인지 확인합니다.

형태: 사용자 이름에 따른 사용자
requestid

주어진 요청 값은 응답에 포함됩니다. 요청을 구분하기 위해 사용될 수 있습니다.

servedby

결과에 요청을 처리한 호스트네임을 포함합니다.

Type: boolean (details)
curtimestamp

결과의 타임스탬프를 포함합니다.

Type: boolean (details)
responselanginfo

uselangerrorlang에 사용되는 언어를 결과에 포함합니다.

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-OriginAccess-Control-Allow-Credentials 헤더가 설정됩니다.

인증되지 않은 요청의 경우, * 값을 지정하십시오. 이를 통해 Access-Control-Allow-Origin 헤더가 설정되지만 Access-Control-Allow-Credentialsfalse로 설정되어 모든 사용자 지정 데이터가 제한을 받게 됩니다.

uselang

메시지 번역을 위한 언어입니다. action=query&meta=siteinfosiprop=languages를 함께 사용하면 언어 코드의 목록을 반환하고, user를 지정하면 현재 사용자의 언어 환경 설정을 사용하며, content를 지정하면 이 위키의 콘텐츠 언어를 사용합니다.

기본값: user
errorformat

경고 및 오류 텍스트 출력을 위해 사용할 형식

plaintext
HTML 태그를 제거하고 엔티티가 치환된 위키텍스트입니다.
wikitext
구문 분석이 되지 않은 위키텍스트입니다.
html
HTML
raw
메시지 키와 변수입니다.
none
텍스트 출력 없이 오류 코드만 출력합니다.
bc
미디어위키 1.29 이전에 사용된 포맷입니다. errorlangerrorsuselocal은 무시됩니다.
다음 값 중 하나: 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)
centralauthtoken

크로스 도메인 AJAX 요청 (CORS)을 사용하여 API에 접근할 때, 이것을 사용하여 현재의 SUL 사용자로 인증하십시오. 토큰을 검색하려면 CORS 요청을 하기 전에 이 위키에서 action=centralauthtoken을 사용하십시오. 각 토큰은 한 번만 사용될 것이며 10초 후에 만료됩니다. 모든 pre-flight 요청에 포함되어야 하며, 이에 따라 (POST 본문이 아닌) 요청 URI의 일부에 포함되어야 합니다.

예시:
메인 모듈의 도움말입니다.
api.php?action=help [연습장에서 열기]
모든 도움말을 한 페이지로 모읍니다.
api.php?action=help&recursivesubmodules=1 [연습장에서 열기]
권한:
writeapi
쓰기 API 사용
다음 그룹에 부여됨: all, bot, member, user
apihighlimits
API 쿼리에서 더 높은 제한 사용 (느린 쿼리: 500, 빠른 쿼리: 5000) 느린 쿼리에 대한 제한은 다중값 매개변수에도 적용됩니다.
다음 그룹에 부여됨: bot, sysop

데이터 유형

미디어위키의 입력은 NFC 정규화 UTF-8인 것이 좋습니다. 미디어위키는 다른 입력의 변환을 시도할 수 있지만 일부 동작(MD5 검사를 수반한 편집 등)을 실패할 수 있습니다.

여러 값을 받는 변수는 보통 파이프 문자를 사용하여 구분되는 값으로 제출합니다. (예: param=value1|value2 또는 param=value1%7Cvalue2) 값에 파이프 문자가 포함되어야 하는 경우 U+001F(단위 구분자)를 구분자로, 값의 접두사를 U+001F로 사용하십시오. (예: param=%1Fvalue1%1Fvalue2)

API 요청의 일부 변수 유형은 추가 설명이 필요합니다:

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/ 에 해주시기 바랍니다.