This post will go over the basics of integrating Backendless services into the Corona framework…
First, create your Backendless account and obtain the “application-id” and “secret key”. Keep those handy, you’ll be using them throughout these tutorials.
At present, there is not a proper, Corona-specific API plugin so we’ll be using the REST API for Backendless. A handy link can be found here for the REST documentation.
I originally was excited about Backendless for user management. I was excited at the prospect of NOT having to “roll my own”. I was pleased to see that they provided a great and simple, yet flexible user management system. Let’s not waste any time, let’s cover the basics here first and then, let’s REALLY play with the easy customization aspects!
json = require ("json") -- Create a table to hold our headers we'll be passing to -- backendless. This is how Backendless local headers = {} headers["application-id"] = "ENTER YOUR INFO HERE" headers["secret-key"] = "ENTER YOUR INFO HERE" headers["Content-Type"] = "application/json" headers["application-type"] = "REST" -- This is a "yes" press -- OK, well write to the file and update it with the user's name -- Create a table to put our data into local tempTable = {} -- Populate our table with some data...you'll need to change the usernames -- if you plan on testing it multiple times, of course. Check on your backendless -- dashboard and find the user table: tempTable.username = "fowler" tempTable.email = "amyfarrahfowler@bigbangtheory.com" tempTable.password = "whooooo" -- Encode the table into the expectes JSON... local jsonData = json.encode(tempTable) -- Debug output for your console window... print("JSON is "..jsonData) -- Event handler for our network.request webcall local function RetrieveUserData( event ) if ( event.isError ) then myText.text = "Network error!" else print("Response "..event.response) local response = json.decode(event.response) print("Total users "..response.totalObjects) end end -- Now, we'll combine both our headers and the body into the single table "params" -- and send this off to Backendless! local params = {} params.headers = headers params.body = jsonData -- To create a user using the JSON encoded info we defined above in the 'params' table network.request( "https://api.backendless.com/v1/users/register", "POST", RetrieveUserData, params)
If you replace headers[“application-id”] and headers[“secret-key”] with your own data, and run the above code, it should create a new user with the above info. Here’s what the console should come back with something similar to this:
JSON is {"username":"fowler","password":"whooooo","email":"amyfarrahfowler@bigba ngtheory.com"} Response {"username":"fowler","updated":null,"created":"06/10/2014 22:57:14 GMT+ 0000","email":"amyfarrahfowler@bigbangtheory.com","ownerId":null,"objectId":"BC9 F50E0-6D6B-AC54-FFAD-8B30BAE50C00"}
Yours will differ of course with the unique GUID assigned to your “objectId” and the date/time.
Now, go to your Backendless dashboard, and select the data icon and select “users” and you should see the user info listed there. Refresh if it doesn’t appear right away:
It’s that simple. You’ve just created a user programmatically using Backendless!