A bit of a followup. I just added this simple add to my sandbox to
test the basic request functionality. It ran first time just fine,
then subsequently I re-added the same app and now am getting the same
javascript error as above! Now, I can't get it to work no matter how
hard I try.
This appears to be some kind of environment issue..
Here's the app:
<?xml version="1.0" encoding="UTF-8"?>
<Module>
<ModulePrefs title="hello world example">
<Require feature="opensocial-0.7"/>
</ModulePrefs>
<Content type="html"><![CDATA[
<div id='main'>
<div id='test'> </div>
</div>
<script>
function setRequest() {
var data = {
html : "USER Input"
}
var req = opensocial.newDataRequest();
req.add(req.newUpdatePersonAppDataRequest(
opensocial.DataRequest.PersonId.VIEWER,
"test",
gadgets.json.stringify(data)),
"setData");
req.send(getRequest);
}
function getRequest() {
var req = opensocial.newDataRequest();
req.add(req.newFetchPersonRequest(
opensocial.DataRequest.PersonId.VIEWER),
"getViewer");
req.add(req.newFetchPersonAppDataRequest(
opensocial.DataRequest.PersonId.VIEWER,
"test"),
"getData");
req.send(getResponse);
}
function getResponse(data) {
var viewer = data.get("getViewer").getData();
var testData = data.get("getData").getData()[viewer.getId()]["test"];
var unescapedTestData = gadgets.util.unescapeString(testData);
var testObject = gadgets.json.parse(unescapedTestData);
document.getElementById("test").innerHTML = testObject.html;
}
</script>
<script>
gadgets.util.registerOnLoadHandler(setRequest);
</script>
]]></Content>
</Module>