gadgets.util.registerOnLoadHandler(request);
function request() {
var sampleData = "Sample storage data! The current time is " + new Date();
var req = opensocial.newDataRequest();
req.add(req.newUpdatePersonAppDataRequest(opensocial.DataRequest.PersonId.VIEWER, "datakey", sampleData), "status");
req.send(response);
};
function response(data) {
var error = data.get("status").hadError();
if (error) {
print("Error on update person data request.");
} else {
print("Update person data request successful.");
fetchStoredData();
}
} ;
function fetchStoredData() {
var fields = [ "datakey" ];
var req = opensocial.newDataRequest();
req.add(req.newFetchPersonRequest(opensocial.DataRequest.PersonId.VIEWER), "viewer"); //Needed to get the viewer's ID
req.add(req.newFetchPersonAppDataRequest(opensocial.DataRequest.PersonId.VIEWER, fields), "returnData");
req.send(showData);
};
function showData(returnData) {
var viewer = returnData.get("viewer").getData();
var viewer_data = returnData.get("returnData").getData()[viewer.getId()]; //Here's why we needed to fetch the viewer
var output = [ '
Person data fetch successful.',
'
-->Retrieved data: "',
viewer_data["datakey"],
'" from viewer: ',
viewer.getId() ].join("");
print(output);
};
function print(txt) {
document.getElementById("main").innerHTML += txt;
};
]]>