Difference between revisions of "Examples"
Jump to navigation
Jump to search
(→Intro) |
|||
Line 54: | Line 54: | ||
wiki.logout(); | wiki.logout(); | ||
} | } | ||
+ | </source> | ||
+ | |||
+ | === query === | ||
+ | [https://github.com/WolfgangFahl/Mediawiki-Japi/blob/master/src/test/java/com/bitplan/mediawiki/japi/TestAPI_Query.java Junit Test] | ||
+ | ==== Allpages ==== | ||
+ | <source lang='java'> | ||
+ | /** | ||
+ | * test the Allpages API call http://www.mediawiki.org/wiki/API:Allpages | ||
+ | * | ||
+ | * @throws Exception | ||
+ | */ | ||
+ | @Test | ||
+ | public void testGetAllPages() throws Exception { | ||
+ | for (ExampleWiki lwiki : getWikis()) { | ||
+ | Api api = getQueryResult(lwiki, "&list=allpages&apfrom=Kre&aplimit=3"); | ||
+ | List<P> pageRefList = api.getQuery().getAllpages(); | ||
+ | assertEquals(lwiki.getSiteurl(),3, pageRefList.size()); | ||
+ | } | ||
+ | } | ||
</source> | </source> | ||
Revision as of 09:32, 18 January 2015
Intro
Depending on your version of Mediawiki you'll get different API details and help pages:
API usage examples
Sample query:get a single page
http://www.mediawiki.org/wiki/API:Query#Sample_query
Mediawiki wiki=new Mediawiki("http://en.wikipedia.org");
String content=wiki.getPageContent("Main Page");
/**
* http://www.mediawiki.org/wiki/API:Query#Sample_query
* http://en.wikipedia.org/w/api.php?action=query&prop=revisions&rvprop=content&titles=Main%20Page&format=xml
* @throws Exception
*/
@Test
public void testSampleQuery() throws Exception {
Mediawiki wiki=new Mediawiki("http://en.wikipedia.org");
String content=wiki.getPageContent("Main Page");
assertTrue(content.contains("Wikipedia"));
}
login/logout
http://www.mediawiki.org/wiki/API:Login
Login login=wiki.login("scott","tiger");
wiki.logout();
/**
* test Login and logout
* see <a href='http://www.mediawiki.org/wiki/API:Login'>API:Login</a>
* @throws Exception
*/
@Test
public void testLogin() throws Exception {
WikiUser wuser=WikiUser.getUser("mediawiki_org");
Login login=wiki.login(wuser.getUsername(),wuser.getPassword());
assertEquals("Success",login.getResult());
assertNotNull(login.getLguserid());
assertEquals(wuser.getUsername(),login.getLgusername());
assertNotNull(login.getLgtoken());
wiki.logout();
}
query
Allpages
/**
* test the Allpages API call http://www.mediawiki.org/wiki/API:Allpages
*
* @throws Exception
*/
@Test
public void testGetAllPages() throws Exception {
for (ExampleWiki lwiki : getWikis()) {
Api api = getQueryResult(lwiki, "&list=allpages&apfrom=Kre&aplimit=3");
List<P> pageRefList = api.getQuery().getAllpages();
assertEquals(lwiki.getSiteurl(),3, pageRefList.size());
}
}
Edit
https://www.mediawiki.org/wiki/API:Edit
wiki.login("scott","tiger");
wiki.edit("Test Page 1","new content of test page 1","Summary for this edit");