rendered paste bodyfunction getMyDetails() { var req = opensocial.newDataRequest(); req.add(req.newFetchPersonRequest(opensocial.DataRequest.PersonId.VIEWER, null), "viewer"); req.send(getMyDetails_response);}function getMyDetails_response(data){ var viewer = data.get("viewer").getData(); if(viewer.hasError) puts("Error in fetching the details"); else { var my_data = [] my_data.push("<table><tr><td>"); my_data.push('<img src="'+viewer.getField(opensocial.Person.Field.THUMBNAIL_URL)+'">'); my_data.push("</td><td>"); my_data.push(viewer.getDisplayName()); my_data.push(viewer.getId()); my_data.push("Owner? : " + viewer.isOwner()); my_data.push("Viewer? : " + viewer.isViewer()); my_data.push("</td><tr></table>"); puts(my_data.join("<br>"), "myself"); }}function getMyFriends(){ var req = opensocial.newDataRequest(); req.add(req.newFetchPeopleRequest(opensocial.DataRequest.Group.VIEWER_FRIENDS), "friends"); req.send(getMyFreinds_response);}function getMyFreinds_response(data){ var friends = data.get("friends").getData(); if(friends.hasError) puts("Error in fetching my friends"); else { var counter = 1; var friend_data = []; friend_data.push("<tr>"); friends.each(function(friend) { var thumb = friend.getField(opensocial.Person.Field.THUMBNAIL_URL); var name = friend.getDisplayName(); var id = friend.getId(); var isOwner = friend.isOwner(); var isViewer = friend.isViewer(); friend_data.push('<td class="friends"><table><tr><td><img src="' + thumb + '"></td><td>' + name + "<br>" + id + "<br>Owner? : " + isOwner + "<br>Viewer? : " + isViewer + '</td></tr></table>'); if(counter%4 == 0) friend_data.push("</tr><tr>"); counter += 1; } ) friend_data.push("</tr>"); puts(friend_data.join(""), "friends"); } }function puts(data, div_id){ div = document.getElementById(div_id); if(div != null) { div.innerHTML = data; }}function init_canvas() { getMyDetails(); getMyFriends();}