Following are the list of Opensocial APIs supported by this service.
1. newFetchPersonRequest (more)
2. newFetchPeopleRequest (more)
1. opensocial.Person.Field.ID
2. opensocial.Person.Field.NAME
3. opensocial.Person.Field.THUMBNAIL_URL
4. opensocial.Person.Field.PROFILE_URL
5. opens ocial.Person.Field.ADDRESSES
5.1 opensocial.Address.Field.COUNTRY
5.2 opensocial.Address.Field.POSTAL_CODE
5.3 opensocial.Address.Field.REGION
5.4 opensocial.Address.Field.UNSTRUCTURED_ADDRESS
5.5 opensocial.Address.Field.TYPE
6. opensocial.Person.Field.ABOUT_ME
7. opensocial.Person.Field.STATUS
8. opensocial.Person.Field.GENDER
9. opensocial.Person.Field.RELATIONSHIP_STATUS
10. opensocial.Person.Field.DATE_OF_BIRTH
11. opensocial.Person.Field.TIME_ZONE
12. opensocial.Person.Field.MUSIC
13. opensocial.Person.Field.MOVIES
14. opensocial.Person.Field.TV_SHOWS
15. opensocial.Person.Field.BOOKS
16. opensocial.Person.Field.ACTIVITIES
17. opensocial.Person.Field.LOOKING_FOR
18. opensocial.Person.Field.RELIGION
19. opensocial.Person.Field.POLITICAL_VIEWS
20. opensocial.Person.Field.QUOTES
21. opensocial.Person.Field.INTERESTS (more)
Example:
<script type="text/javascript">
function getData()
{
var opt_params = { };
var req = opensocial.newDataRequest();
opt_params[opensocial.DataRequest.PeopleRequestFields.PROFILE_DETAILS]
=[opensocial.Person.Field.PROFILE_URL,opensocial.Person.Field.ADDRESSES
,opensocial.Person.Field.ABOUT_ME];
req.add(req.newFetchPersonRequest(opensocial.DataRequest.PersonId.VIEWER
,opt_params), 'viewer');
req.add(req.newFetchPeopleRequest(opensocial.DataRequest.Group.
VIEWER_FRIENDS,opt_params), 'viewerFriends');
req.send(onLoadFriends);
};
function onLoadFriends(dataResponse)
{
var viewer = dataResponse.get('viewer').getData();
var html = "";
html += 'Id:: ' + viewer.getField(opensocial.Person.Field.ID)+"<br>";
html += 'Name:: ' + viewer.getDisplayName()+"<br>";
html += 'Profile URL:: ' + viewer.getField(opensocial.Person.Field.PROFILE_URL)
+"<br>";
html += 'ADDRESSESCountry::'+viewer.getField(opensocial.Person.Field.ADDRESSES)
[0].getField(opensocial.Address.Field.COUNTRY)+"<br>";
html +='ADDRESSES Postal code::'+viewer.getField(opensocial.Person.Field.ADDRESSES)
[0].getField(opensocial.Address.Field.POSTAL_CODE)+"<br>";
html += 'ADDRESSES region :: ' +viewer.getField(opensocial.Person.Field.ADDRESSES)
[0].getField(opensocial.Address.Field.REGION)+"<br>";
html += 'ADDRESSES type:: ' +viewer.getField(opensocial.Person.Field.ADDRESSES)
[0].getField(opensocial.Address.Field.TYPE)+"<br>";
html += 'ADDRESSES unstructuredAddress:: ' + viewer.getField(opensocial.Person.Field
.ADDRESSES)[0].getField(opensocial.Address.Field.UNSTRUCTURED_ADDRESS+"<br>";
html += 'ABOUT_ME:: ' + viewer.getField(opensocial.Person.Field.ABOUT_ME)+"<br>";
var viewerFriends = dataResponse.get('viewerFriends').getData();
viewerFriends.each(function(person)
{
html += 'Id:: ' + person.getField(opensocial.Person.Field.ID)+"<br>";
html += 'Name:: ' + person.getDisplayName()+"<br>";
html += 'Profile URL:: ' + person.getField(opensocial.Person.Field.PROFILE_URL)+"<br>";
html += 'ADDRESSES Country:: ' + person.getField(opensocial.Person.Field
.ADDRESSES)[0].getField(opensocial.Address.Field.COUNTRY)+"<br>";
html += 'ADDRESSES Postal code:: ' + person.getField(opensocial.Person.Field
.ADDRESSES)[0].getField(opensocial.Address.Field.POSTAL_CODE)+"<br>";
html += 'ADDRESSES region :: ' + person.getField(opensocial.Person.Field.ADDRESSES)[0]
.getField(opensocial.Address.Field.REGION)+"<br>";
html += 'ADDRESSES type:: ' + person.getField(opensocial.Person.Field.ADDRESSES)[0]
.getField(opensocial.Address.Field.TYPE)+"<br>";
html += 'ADDRESSES unstructuredAddress:: ' + person.getField(opensocial.Person.Field
.ADDRESSES)[0].getField(opensocial.Address.Field.UNSTRUCTURED_ADDRESS +"<br>";
html += 'ABOUT_ME:: ' + person.getField(opensocial.Person.Field.ABOUT_ME)+"<br>";
});
document.getElementById('message').innerHTML = html;
};
gadgets.util.registerOnLoadHandler(getData);
</script>
<div id="message"< </div>
Following are the list of Opensocial APIs supported by this service
1. newFetchActivitiesRequest (more)
2. requestCreateActivity (more)
1. opensocial.Activity.Field.TITLE
2. opensocial.Activity.Field.POSTED_TIME
3. opensocial.Activity.Field.USER_ID (more)
Example:
<script type="text/javascript">
function getActivities()
{
var req = opensocial.newDataRequest();
req.add(req.newFetchPeopleRequest('VIEWER_FRIENDS'), 'friends');
req.add(req.newFetchActivitiesRequest('VIEWER'), 'viewerActivities');
req.add(req.newFetchActivitiesRequest('VIEWER_FRIENDS'),'friendActivities');
req.send(showActivities);
}
function showActivities(dataResponse)
{
var viewerActivities = dataResponse.get('viewerActivities').getData()['activities'];
var friendActivities = dataResponse.get('friendActivities').getData()['activities'];
var friends = dataResponse.get('friends').getData();
var htmlout = '';
htmlout += '<h2>Your activities:</h2><br>';
htmlout += getActivitiesHtml(viewerActivities);
htmlout += '<h2>Your friends\' activities:</h2><br>';
htmlout += getFriendsActivitiesHtml(friendActivities,friends);
document.getElementById('read_activities').innerHTML = htmlout;
}
function getActivitiesHtml(stream)
{
var htmlout = '';
stream.each(function(activity)
{
htmlout += activity.getField('title');
htmlout += '<br>';
});
return htmlout;
}
function getFriendsActivitiesHtml(stream,friends)
{
var htmlout = '';
stream.each(function(activity)
{
var name="";
var userId = activity.getField('userId');
friends.each(function(person)
{
if(userId==person.getField('id'))
name=person.getDisplayName();
});
htmlout += "<b>"+name+"</b>: "+activity.getField('title');
htmlout += '<br>';
});
return htmlout;
}
function writeActivity()
{
var title = _gel('title').value;
var params = {};
params[opensocial.Activity.Field.TITLE] = title;
var activity = opensocial.newActivity(params);
opensocial.requestCreateActivity(activity,
opensocial.CreateActivityPriority.HIGH, getActivities);
}
gadgets.util.registerOnLoadHandler(getActivities);
</script>
<div id="write_activities">
Title:<input id="title" /><br>
<input type="button" value="add activity" onclick="writeActivity();" />
</div>
<div id="read_activities">
</div>
Following are the list of OpenSocial APIs supported by this service.
1. newFetchPersonAppDataRequest (more)
2. newUpdatePersonAppDataRequest (more)
3. newRemovePersonAppDataRequest (more)
Example:
<script type="text/javascript">
var givenGifts = {};
var globalGiftList = ['a cashew nut', 'a peanut', 'a hazelnut', 'a red pistachio nut'];
function updateGiftList(viewer, data, friends)
{
var json = null;
if (data[viewer.getId()])
{
json = data[viewer.getId()]['gifts'];
}
if (!json)
{
givenGifts = {};
}
try
{
givenGifts = gadgets.json.parse(gadgets.util.unescapeString(json));
}
catch (e)
{
givenGifts = {};
}
var html = new Array();
html.push('You have given:');
html.push('<ul>');
for (i in givenGifts)
{
if (i.hasOwnProperty)
{
html.push('<li>', friends.getById(i).getDisplayName(), ' received ',
globalGiftList[givenGifts[i]], '</li>');
}
}
html.push('</ul>');
document.getElementById('given').innerHTML = html.join('');
}
function giveGift()
{
var nut = document.getElementById('nut').value;
var friend = document.getElementById('person').value;
givenGifts[friend] = nut;
var json = gadgets.json.stringify(givenGifts);
var req = opensocial.newDataRequest();
req.add(req.newUpdatePersonAppDataRequest("VIEWER", 'gifts', json));
req.add(req.newFetchPersonRequest("VIEWER"), 'viewer');
var viewerFriends = opensocial.newIdSpec({ "userId" : "VIEWER", "groupId" : "FRIENDS" });
var opt_params = {};
opt_params[opensocial.DataRequest.PeopleRequestFields.MAX] = 100;
req.add(req.newFetchPeopleRequest(viewerFriends, opt_params), 'viewerFriends');
var viewer = opensocial.newIdSpec({ "userId" : "VIEWER" });
req.add(req.newFetchPersonAppDataRequest(viewer, 'gifts'), 'data');
req.send(onLoadFriends);
}
function makeOptionsMenu()
{
var html = new Array();
html.push('<select id="nut">');
for (var i = 0; i < globalGiftList.length; i++)
{
html.push('<option value="', i, '">', globalGiftList[i], '</option>');
}
html.push('</select>');
document.getElementById('gifts').innerHTML = html.join('');
}
function loadFriends()
{
var req = opensocial.newDataRequest();
req.add(req.newFetchPersonRequest("VIEWER"), 'viewer');
var viewerFriends = opensocial.newIdSpec({ "userId" : "VIEWER", "groupId" : "FRIENDS" });
var opt_params = {};
opt_params[opensocial.DataRequest.PeopleRequestFields.MAX] = 100;
req.add(req.newFetchPeopleRequest(viewerFriends,opt_params),'viewerFriends');
var viewer = opensocial.newIdSpec({ "userId" : "VIEWER" });
req.add(req.newFetchPersonAppDataRequest(viewer, 'gifts', opt_params), 'data');
req.send(onLoadFriends);
}
function onLoadFriends(data)
{
var viewer = data.get('viewer').getData();
var viewerFriends = data.get('viewerFriends').getData();
var giftData = data.get('data').getData();
html = new Array();
html.push('<select id="person">');
viewerFriends.each(function(person)
{
if (person.getId())
{
html.push('<option value="', person.getId(), '">', person.getDisplayName(), '</option>');
}
});
html.push('</select>');
document.getElementById('friends').innerHTML = html.join('');
updateGiftList(viewer, giftData, viewerFriends);
}
function init()
{
loadFriends();
makeOptionsMenu();
}
gadgets.util.registerOnLoadHandler(init);
</script>
<div id='main'>
<div id='give'>
<form id='gift_form'>
Give <span id='gifts'></span> to <span id='friends'></span>.
<a href='javascript:void(0);' onclick='giveGift();'>Give!</a>
</form>
</div>
<div id='given'></div>
</div>
Following are the Extended container APIs supported by this service.
1. newFetchNotificationRequest
Following are the Extended container APIs supported by this service.
1. roamabout.Notification.Field.MESSAGES
It will return unread messages count
2. roamabout.Notification.Field.POKES
It will return unread pokes count
3. roamabout.Notification.Field.SHARES
It will return unread shares count
4. roamabout.Notification.Field.FRIEND_REQUESTS
It will return an array of requested friend ids
Example:
<script type="text/javascript">
function getData()
{
var req = opensocial.newDataRequest();
if(gadgets.util.hasFeature('roamabout-0.1'))
{
var viewer = opensocial.newIdSpec({ "userId" : "VIEWER"});
req.add(roamabout.newFetchNotificationRequest(viewer),'notifications');
}
req.send(onLoadNotifications);
};
function onLoadNotifications(dataResponse)
{
if(gadgets.util.hasFeature('roamabout-0.1'))
{
var notification = dataResponse.get('notifications').getData();
alert(notification.getField(roamabout.Notification.Field.MESSAGES));
alert(notification.getField(roamabout.Notification.Field.POKES));
alert(notification.getField(roamabout.Notification.Field.SHARES));
alert(notification.getField(roamabout.Notification.Field.FRIEND_REQUESTS));
}
};
gadgets.util.registerOnLoadHandler(getData);
</script>
Callback URL:http://shindig.vysr.com/facebook/


