스크립트는 Wikipedia 사이트에 삽입하기위한 것입니다. 사용자의 로그인 자격 증명을 사용하여 수정 API에 게시합니다.Wikipedia API를 사용하여 브라우저 자바 스크립트에서 페이지를 편집하는 방법?
function getEditToken(){
return fetch(
'https://en.wikipedia.org/w/api.php?action=query&meta=tokens&format=json',
{credentials: 'include'}
)
.then(r => r.json())
.then(r => r.query.tokens.csrftoken)
}
function writeRevision(title, text, summary){
var url = `https://en.wikipedia.org/w/index.php?action=edit`
var formData = new FormData()
formData.append('title', title)
formData.append('text', text)
formData.append('summary', summary)
formData.append('contentmodel', 'wikitext')
var option = {
method: 'POST',
body: formData,
credentials: 'include',
}
return getEditToken()
.then(token => { formData.append('token', token); console.log(token) })
.then(x => fetch(url, option))
.then(r => r.text())
.then(console.log)
.catch(e => console.log(e))
}
writeRevision('User:eeeeeeeee/draft_1', 'foo wikitext', 'foo summary')
응답은 말한다 :
이
내 시도편집 양식의 일부가 서버에 도달하지 않았다; 수정 내용을 그대로 다시 확인하고 다시 시도하십시오.
위키 피 디아 페이지를 편집 할 때 일반적으로 전송되는 숨겨진 필드를 포함합니까? 스크립트와 일반 위키피디아를 사용할 때 "네트워크"탭에 크롬 로그를 비교하면 동일한 필드가 전송됩니까? –