- Smart Personal Cloud

API Reference

1
Script Location
/sys/permission
API
class permission   var resourceType as string    // "app", "file"   var resourceId as string      // appid or file path   var users as string[]         // user id, email address, or public end func grant(resourceType as string, resourceId as string, loginuser as string) as void func revoke(resourceType as string, resourceId as string, loginuser as string) as void func check(resourceType as string, resourceId as string, loginuser as string) as bool func getPermission(resourceType as string, loginuser as string) as string[]
2
Script Location
/sys/task
API
class task   var user as string       // scheduled for user   var app as string        // application that generates that task   var name as string       // name of the task   var script as string     // script to run   var param as string      // parameter to the script   var task_type as int     // 0:once 1:hourly 2:daily 3:weekly 4:monthly 5:yearly   var status as int        // 0:active  1:complete      var year as int   var month as int   var day as int   var hour as int   var minute as int   var timezone as string   var days_of_week as int[]      func setTime(time as int, zone as string) as void   func getTime() as int end func schedule(tsk as task, param as string) as string func find(user as string, app as string, name as string) as task[] func find(user as string, app as string, name as string, status as int) as task[] func get(taskid as string) as task func cancel(taskid as string) as bool func delete(taskid as string) as bool func scheduleHourly(app as string, name as string, script as string, minute as int) as void
3
Script Location
/api/phone
API
func call(number as string, message as string) as bool func text(number as string, message as string) as bool
Example
use /api/phone phone.call("123456789", "hello") phone.text("123456789", "hello")
4
Script Location
/api/mail
API
func notify(toAddr as string, subject as string, content as string) as bool
Example
use /api/mail mail.notify("myemail@hotmail.com", "hello", "sample content")
5
Script Location
/api/blogger
API
/*  * Create a new google blogger client  */ func newClient(userid as string, password as string, blogname as string) as client interface client   func post(title as string, content as string) as entry   func post(title as string, content as string, summary as string) as entry   func getPosts() as entry[]   func getPostSince(time as int) as entry[]   func delete(url as string) as void end class entry   var title as string   var summary as string   var content as string   var authors as person[]   var draft as bool   var editUrl as string end class person   var name as string   var userid as string   var uri as string end
Example
use /api/blogger                                                             // use the script that contains blogger API var blogger_client = blogger.newClient("username", "password", "blogname")   // create a blogger service client var ps = blogger_client.getPosts()                                           // retrieve all posts for the blog You have ps.length posts in total.                                           // display some message var newpost = blogger_client.post("sample title", "sample content")          // post an new article blogger_client.delete(newpost.editUrl)                                       // delete a post     
6
Script Location
/api/hackernews
API
class story   var title as string   var url as string   var score as string   var user as string   var comments as string   var time as string   var item_id as string end class history   var item_id as string   var user as string   var post_time as int   var title as string   var url as string      var new_ranks as serial[]   var top_ranks as serial[]   var comments as serial[]   var score as serial[] end class serial   var time as int   var value as int end func getNewest() as story[] func getTopStory() as story[] func getHistory(itemId as string) as history     
Example
                                        use /api/hackernews                                                          // use the script that contains the API var news = hackernews.getNewest()                                            // get newly posted for i = 1 to news.length                                                     // loop and print all titles   news[i].title <br/> next     
7
Script Location
/api/webshot
API
func take(url as string, path as string) as bool
Example
                                        use /api/webshot                                                   // use the script that contains the API webshot.take("http://www.google.com", "google.png")                // save screenshot of google homepage as google.png