Here is the code from our breakout session that stores key value pairs in App Data;
<script>
var catBreeds = ["Persian","American Shorthair","Abysinian",
"Egypian Mow","Manx"
];
var container;
function init()
{
container = opensocial.Container.get();
var dataRequest = container.newDataRequest();
var personRequestParams = {};
var ownerRequest = dataRequest.newFetchPersonRequest(
opensocial.DataRequest.PersonId.OWNER
);
var viewerRequest = dataRequest.newFetchPersonRequest(
opensocial.DataRequest.PersonId.VIEWER);
var ownerFriendsRequest = dataRequest.newFetchPeopleRequest(
opensocial.DataRequest.Group.OWNER_FRIENDS
);
dataRequest.add(ownerRequest,'ownerProfile');
dataRequest.add(ownerFriendsRequest,'ownerFriends');
dataRequest.add(viewerRequest,'viewerProfile');
dataRequest.send(init_callback);
}
function init_callback(response)
{
if(response.hadError())
{
output("Ooops! Response error");
}
else
{
var ownerProfileResponse = response.get('ownerProfile');
var ownerProfile = ownerProfileResponse.getData();
var ownerFriends = response.get('ownerFriends').getData();
var viewerProfile = response.get('viewerProfile').getData();
output("Hello, " + ownerProfile.getField(
opensocial.Person.Field.NAME
));
output("Here are your friends!");
var request = container.newDataRequest();
var i = 0;
ownerFriends.each(
function(thisFriend)
{
output("This friend is..." + thisFriend.getField(
opensocial.Person.Field.NAME));
var tempReq = container.newUpdatePersonAppDataRequest(
opensocial.DataRequest.PersonId.VIEWER,
thisFriend.getField(opensocial.Person.Field.NAME),
"Egyptian Mow"
);
request.add(tempReq,"Temp_" + i++);
}
);
request.send(mycallback);
}
}
function mycallback(response)
{
var request = container.newDataRequest();
var appDataRequest = request.newFetchPersonAppDataRequest(
opensocial.DataRequest.PersonId.VIEWER,"");
request.add(appDataRequest,'myappdata');
request.send(mycallback2);
}
function mycallback2(response)
{
var appData = response.get('myappdata').getData();
appData.each(function(thisAppData){
var tempVariable = "";
});
}
function output(message)
{
document.getElementById("output").innerHTML += "<br>"
+ message;
}
init();
</script>
<div id="output"></div>