_IG_RegisterOnloadHandler(request);
var sampleData = "Sample storage data!";
var html = "";
function request() {
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) {
html = "Error on update person data request.";
} else {
html = "Update person data request successful.";
fetchStoredData();
}
document.getElementById("main").innerHTML = html;
}
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
html += "
Person data fetch successful.";
html += "
-->Retrieved data: '" + viewer_data["datakey"] + "' from viewer: " + viewer.getId();
document.getElementById("main").innerHTML = html;
}
]]>