Hi,
I tried to execute the code at
http://code.google.com/intl/de-DE/apis/opensocial/docs/0.8/devguide.html#Persistent
but I am not able either to save and retrieve data on a viewer. If someone has an update about that please let me know.
Here is the code that gives "undefined" as answer.
Thanks in advance
Claude
<div id='loading'></div>
<div id='heading'></div>
<hr size='1px' />
<div id='main'></div>
<script type='text/javascript'>
var os;
var dataReqObj;
var html = '';
var heading = '';
function putData()
{
dataReqObj = os.newDataRequest();
var data1 = Math.random() * 5;
dataReqObj.add(dataReqObj.newUpdatePersonAppDataRequest("VIEWER", "AppField1", data1));
dataReqObj.add(dataReqObj.newUpdatePersonAppDataRequest("VIEWER", "AppField2", data1));
dataReqObj.add(dataReqObj.newUpdatePersonAppDataRequest("VIEWER", "AppField3", data1));
dataReqObj.send(handlePutData);
}
function handlePutData() {
requestData();
}
function requestData()
{
var fields = ["AppField1","AppField2","AppField3"];
var p = {};
dataReqObj = os.newDataRequest();
var req = dataReqObj;
p[opensocial.IdSpec.Field.USER_ID] = "VIEWER";
var idSpec = opensocial.newIdSpec(p);
dataReqObj.add(req.newFetchPersonRequest(opensocial.IdSpec.PersonId.VIEWER), "viewer");
dataReqObj.add(req.newFetchPersonAppDataRequest(idSpec, fields), "viewer_data");
dataReqObj.send(handleRequestData);
}
function handleRequestData(data){
if (data.hadError()) {
alert(data.getErrorCode() + '\n' + data.getErrorMessage());
return;
}
var viewer_data = data.get("viewer_data");
var viewer = data.get("viewer");
doSomethingWithMyData(viewer,viewer_data);
}
function doSomethingWithMyData(viewer,data) {
var mydata = data.getData();
var me = viewer.getData();
var id = me.getId().substr(12, me.getId().length);
html = "AppField1 data for user is: " +mydata[id]["AppField1"]+"<br />";
document.getElementById('main').innerHTML = html;
}
function init() {
os = opensocial.Container.get();
putData();
}
init();
</script>