PHP-RPC
$path = 'https://api.newspark.ca/services/php';
// Listing the arguments
$arguments = array(
'APIKEY' => 'YOURAPIKEY',
'method' => 'channels.updateChannelInfo',
'channel' => $channel,
'name' => $name,
'shortname' => $shortname,
'description' => $description,
'parentchannel' => $parentchannel,
'emailaddress' => $emailaddress,
'geoblocking' => $geoblocking,
'readonly' => $readonly,
'disableembed' => $disableembed,
'modemailaccepted' => $modemailaccepted,
'modemaildenied' => $modemaildenied,
'visibility' => $visibility,
'defaultsort' => $defaultsort,
'thread_notification_template' => $thread_notification_template,
'media_notification_template' => $media_notification_template,
'tid' => $tid,
'triggerevent' => $triggerevent,
'delete_media_interval' => $delete_media_interval,
'delete_media_moderationstatus' => $delete_media_moderationstatus,
'newProperties' => $newProperties
);
// http_build_query basically turns an array into a url-encoded list of variables
$url = $path .'?' . http_build_query($arguments,null,'&');
// get the contents from the specified url
$data = file_get_contents($url);
// transform it back into php data structures
$data = unserialize($data);
// the actual data is stored in $data['result']
print_r($data['result']);
back to topPEAR XMLRPC client
// Include the client
require_once 'XML/RPC.php';
// Create the XMLRPC Client
$client = new XML_RPC_Client('/services/xmlrpc?APIKEY={YOURAPIKEY}', 'api.newspark.ca');
// PEAR's XML-RPC client requires all arguments to wrapped in a special value class
// XML_RPC_encode converts this automatically
$arguments = array(
XML_RPC_encode($channel),
XML_RPC_encode($name),
XML_RPC_encode($shortname),
XML_RPC_encode($description),
XML_RPC_encode($parentchannel),
XML_RPC_encode($emailaddress),
XML_RPC_encode($geoblocking),
XML_RPC_encode($readonly),
XML_RPC_encode($disableembed),
XML_RPC_encode($modemailaccepted),
XML_RPC_encode($modemaildenied),
XML_RPC_encode($visibility),
XML_RPC_encode($defaultsort),
XML_RPC_encode($thread_notification_template),
XML_RPC_encode($media_notification_template),
XML_RPC_encode($tid),
XML_RPC_encode($triggerevent),
XML_RPC_encode($delete_media_interval),
XML_RPC_encode($delete_media_moderationstatus),
XML_RPC_encode($newProperties)
);
// Creating an XML-RPC message
$message = new XML_RPC_Message('channels.updateChannelInfo',$arguments);
// Sending the message to the server
$response = $client->send($message);
// We also need to decode the response back to normal PHP types
$response = XML_RPC_decode($response);
print_r($response);
back to topSabreTooth XMLRPC client
// Include the client
require_once 'Sabre/XMLRPC/Client.php';
// Create the XMLRPC Client
$xmlrpc = new Sabre_XMLRPC_Client('https://api.newspark.ca/services/xmlrpc?APIKEY={YOURAPIKEY}');
$arguments = array(
$channel,
$name,
$shortname,
$description,
$parentchannel,
$emailaddress,
$geoblocking,
$readonly,
$disableembed,
$modemailaccepted,
$modemaildenied,
$visibility,
$defaultsort,
$thread_notification_template,
$media_notification_template,
$tid,
$triggerevent,
$delete_media_interval,
$delete_media_moderationstatus,
$newProperties
);
$data = $xmlrpc->invoke('channels.updateChannelInfo',$arguments);
print_r($data);
back to topZend XMLRPC client
// Include the client
require_once 'Zend/XmlRpc/Client.php';
// Create the XMLRPC Client
$client = new Zend_XmlRpc_Client('https://api.newspark.ca/services/xmlrpc?APIKEY={YOURAPIKEY}');
$arguments = array(
$channel,
$name,
$shortname,
$description,
$parentchannel,
$emailaddress,
$geoblocking,
$readonly,
$disableembed,
$modemailaccepted,
$modemaildenied,
$visibility,
$defaultsort,
$thread_notification_template,
$media_notification_template,
$tid,
$triggerevent,
$delete_media_interval,
$delete_media_moderationstatus,
$newProperties
);
$data = $client->call('channels.updateChannelInfo',$arguments);
print_r($data);
back to topActionscript 2
/*
* In ActionScript 2 remote service calls are done using the RemotingConnector Component.
* An instance of the component must exist on the stage and have an instance name.
*
* Results and Faults are handled by addEventListener's and the call parameters are placed inside of an associative array
*
* You must also specify the service class and method names under the appropriate property fields of the component
*/
var gatewayURL:String = "/services/amf2";
//Set up service call
myRemConn_rc.gatewayUrl = gatewayURL;
myRemConn_rc.serviceName = "channels";
myRemConn_rc.methodName = "updateChannelInfo";
myRemConn_rc.params = {channel:channel, name:name, shortname:shortname, description:description, parentchannel:parentchannel, emailaddress:emailaddress, geoblocking:geoblocking, readonly:readonly, disableembed:disableembed, modemailaccepted:modemailaccepted, modemaildenied:modemaildenied, visibility:visibility, defaultsort:defaultsort, thread_notification_template:thread_notification_template, media_notification_template:media_notification_template, tid:tid, triggerevent:triggerevent, delete_media_interval:delete_media_interval, delete_media_moderationstatus:delete_media_moderationstatus, newProperties:newProperties};
myRemConn_rc.addEventListener("result", widgetResult);
myRemConn_rc.addEventListener("status", widgetFault);
//Make the call
myRemConn_rc.trigger();
/*
* Handles service result.
*/
function widgetResult(ev:Object){
//Do stuff
//Data is returned inside of ev.target.results
//(i.e. ev.traget.results.description or ev.traget.results.settings.color)
}
/*
* Handles service fault.
*/
function widgetFault(ev:Object){
//Display Error
trace("Categories Error - " + ev.code + " - " + ev.data.faultstring);
}
back to topActionscript 3
/*
* In ActionScript 3 remote service calls are done using the NetConnection Object.
* A Responder Object controls what functions handle successful or failed calls
* and any parameters for the call are placed in an array and passed as a parameter
* in the NetConnection.call() method.
*/
var gatewayURL:String = "/services/amf2";
var parameters:Array = new Array(channel, name, shortname, description, parentchannel, emailaddress, geoblocking, readonly, disableembed, modemailaccepted, modemaildenied, visibility, defaultsort, thread_notification_template, media_notification_template, tid, triggerevent, delete_media_interval, delete_media_moderationstatus, newProperties);
var connection:NetConnection = new NetConnection();
connection.connect(gatewayURL);
connection.call("channels.updateChannelInfo", new Responder(widgetResult, widgetFault), parameters);
/*
* Handles service result.
*/
function widgetResult(ev:Object):void{
//Do stuff
//Data is returned inside of ev
//(i.e. ev.description or ev.settings.color)
}
/*
* Handles service fault.
*/
function widgetFault(ev:Object):void{
//Display Error
error.showError(parentClip, ev.code + " - " + ev.description, "Please refresh your browser to try again.");
error.x = (parentClip.width - error.width) / 2;
error.y = (parentClip.height - error.height) / 2;
}
back to topREST service example
<%@ Page Language="vb" %>
<%
' REST gateway
dim gateway as string = "http://api.newspark.ca/services/rest/"
' Service + method we're calling.
dim method as string = "channels/updateChannelInfo"
dim apiKey as string = "YOURAPIKEY"
dim url as string = gateway & method & "?APIKEY=" & apiKey & "&channel=" & channel
' HTTP Client
dim wcHTTPScrape as new System.net.WebClient()
' Opening a stream
dim objInput as System.IO.Stream = wcHTTPScrape.OpenRead(url)
dim objReader as new System.IO.StreamReader ( objInput )
' Reading the entire HTTP response and output it
Response.Write ( objReader.ReadToEnd () )
objReader.Close ()
objInput.Close ()
%>
back to topjQuery JSON
/*
* jQuery post example
*/
function updateChannelInfo ( channel, name, shortname, description, parentchannel, emailaddress, geoblocking, readonly, disableembed, modemailaccepted, modemaildenied, visibility, defaultsort, thread_notification_template, media_notification_template, tid, triggerevent, delete_media_interval, delete_media_moderationstatus, newProperties ) {
var params = {
"method" : 'channels.updateChannelInfo',
"channel" : channel,
"name" : name,
"shortname" : shortname,
"description" : description,
"parentchannel" : parentchannel,
"emailaddress" : emailaddress,
"geoblocking" : geoblocking,
"readonly" : readonly,
"disableembed" : disableembed,
"modemailaccepted" : modemailaccepted,
"modemaildenied" : modemaildenied,
"visibility" : visibility,
"defaultsort" : defaultsort,
"thread_notification_template" : thread_notification_template,
"media_notification_template" : media_notification_template,
"tid" : tid,
"triggerevent" : triggerevent,
"delete_media_interval" : delete_media_interval,
"delete_media_moderationstatus" : delete_media_moderationstatus,
"newProperties" : newProperties}
$.post('/services/json',params
,function(response){
console.log(response);
});
back to topLocal API
// Get the Service Mapper
$mapper = Sabre_ServiceMap_Mapper::getMapper();
// Calling the method
$data = $mapper->channels->updateChannelInfo( $channel, $name, $shortname, $description, $parentchannel, $emailaddress, $geoblocking, $readonly, $disableembed, $modemailaccepted, $modemaildenied, $visibility, $defaultsort, $thread_notification_template, $media_notification_template, $tid, $triggerevent, $delete_media_interval, $delete_media_moderationstatus, $newProperties );
print_r($data);
back to top