Hi All:
I have blown 8 hrs over 2 days trying to figure out what is wrong with my PHP 
program to try to do a query.

I am trying to build a simple PHP program to get the contents of recent changes 
on a wiki I admin.

Here is the code, with a couple of things "anonymized"  (surrounded by << >>):

========= begin code ===========

<?php
//login and get the correct security values to pass in on subsequent queries
$wikiURL = "<<mydomain>>/mediawiki";
$logincmd = 
$wikiURL."/api.php?action=login&lgname=Sgg&lgpassword=<<mypwd>>&format=json";

$handle = fopen($logincmd,"rb");
$contents = stream_get_contents($handle);
fclose($handle);

$loginVals = json_decode($contents, true);

if($loginVals["login"]["result"] != "Success"){
        echo"Failed to login, result returned ", $loginVals["login"]["result"];
        exit(-1);
}

//set up the security parm values and create query
$userid = $loginVals["login"]["lguserid"];
$username = $loginVals["login"]["lgusername"];
$token = $loginVals["login"]["lgtoken"];

$query = 
$wikiURL."/api.php?action=query&list=recentchanges&format=xml&lgtoken=$token&lgusername=$username&lguserid=$userid";
 
echo"
 Query",$query,"
";

//execute the get and print the results
$handle = fopen($query,"rb");
$contents = stream_get_contents($handle);
fclose($handle);

print_r("
 Query results");
print_r($contents);
print_r("
 end query results 
");
?> 

===============end code ================

The login works fine, returns reasonable looking tokens.  The Query results, 
however are empty.

When I copy the query that was produced (note the echo statement), and paste 
that into a browser (that I have previously used to login to the wiki, I get 
some query results back.   When I paste that query into a browser I rarely use 
(ie haven't logged into the wiki), I get empty result set. 

So, am I misusing the login parms somehow on the query url?  Are the login 
parms not working?  Should I use cookie manipulation instead?

Please help

sgg

_______________________________________________
Mediawiki-api mailing list
[email protected]
http://lists.wikimedia.org/mailman/listinfo/mediawiki-api

Reply via email to