OpenSocial--使用OpenSocial开发iGoogle小工具:访问用户和个人资料
2008-12-08 11:28
162 查看
上面讲代码结构的时候讲到了一个获取好友列表的一个实例,下面就详细讲一下这个实例的代码详细流程:
首先需要创建一个DataRequest对象,由这个对象定义数据请求的对象,就是要请求什么数据,然后发送请求。
在发送请求的时候指定一个回调方法,数据请求完毕之后,通过DataResponse对象返回数据。
通过处理DataResponse里面的数据就可以把好友还有自己的个人信息都显示在页面上了。
<?xml version="1.0" encoding="UTF-8" ?>
<Module>
<ModulePrefs title="List Friends Example">
<Require feature="opensocial-0.7"/>
</ModulePrefs>
<Content type="html">
<![CDATA[
<script type="text/javascript">
function getData() {
var req = opensocial.newDataRequest(); //创建一个DataRequest对象
//newFetchPersonRequest:创建项目以向服务器请求用户 ID 的个人资料
req.add(req.newFetchPersonRequest(opensocial.DataRequest.PersonId.VIEWER), 'viewer');//数据存储在Person对象中
//newFetchPersonRequest:创建项目以向服务器请求好友
req.add(req.newFetchPeopleRequest(opensocial.DataRequest.Group.VIEWER_FRIENDS), 'viewerFriends');//数据存储在Collection<Person>对象中
//'viewer' or 'viewerFriends' 要将生成的响应数据映射至的键
req.send(onLoadFriends); //向服务器发送数据请求以获取数据响应
};
//使用回调函数处理数据
//dataResponse是DataResponse类型的数据
//dataResponse是回调函数的返回值
function onLoadFriends(dataResponse) {
//getData() 将返回成功请求的实际响应数据
//当请求查看者或所有者时,会返回 opensocial.Person 对象
//当请求一组好友时,会得到 opensocial.Person 对象的 opensocial.Collection
var viewer = dataResponse.get('viewer').getData();
var html = 'Friends of ' + viewer.getDisplayName();
html += ':<br><ul>';
var viewerFriends = dataResponse.get('viewerFriends').getData();
//相当于C#的Foreach方法
viewerFriends.each(function(person) {
html += '<li>' + person.getDisplayName() + '</li>';
});
html += '</ul>';
document.getElementById('message').innerHTML = html;
};
gadgets.util.registerOnLoadHandler(getData);
</script>
<div id="message"> </div>
]]>
</Content>
</Module>
首先需要创建一个DataRequest对象,由这个对象定义数据请求的对象,就是要请求什么数据,然后发送请求。
在发送请求的时候指定一个回调方法,数据请求完毕之后,通过DataResponse对象返回数据。
通过处理DataResponse里面的数据就可以把好友还有自己的个人信息都显示在页面上了。
<?xml version="1.0" encoding="UTF-8" ?>
<Module>
<ModulePrefs title="List Friends Example">
<Require feature="opensocial-0.7"/>
</ModulePrefs>
<Content type="html">
<![CDATA[
<script type="text/javascript">
function getData() {
var req = opensocial.newDataRequest(); //创建一个DataRequest对象
//newFetchPersonRequest:创建项目以向服务器请求用户 ID 的个人资料
req.add(req.newFetchPersonRequest(opensocial.DataRequest.PersonId.VIEWER), 'viewer');//数据存储在Person对象中
//newFetchPersonRequest:创建项目以向服务器请求好友
req.add(req.newFetchPeopleRequest(opensocial.DataRequest.Group.VIEWER_FRIENDS), 'viewerFriends');//数据存储在Collection<Person>对象中
//'viewer' or 'viewerFriends' 要将生成的响应数据映射至的键
req.send(onLoadFriends); //向服务器发送数据请求以获取数据响应
};
//使用回调函数处理数据
//dataResponse是DataResponse类型的数据
//dataResponse是回调函数的返回值
function onLoadFriends(dataResponse) {
//getData() 将返回成功请求的实际响应数据
//当请求查看者或所有者时,会返回 opensocial.Person 对象
//当请求一组好友时,会得到 opensocial.Person 对象的 opensocial.Collection
var viewer = dataResponse.get('viewer').getData();
var html = 'Friends of ' + viewer.getDisplayName();
html += ':<br><ul>';
var viewerFriends = dataResponse.get('viewerFriends').getData();
//相当于C#的Foreach方法
viewerFriends.each(function(person) {
html += '<li>' + person.getDisplayName() + '</li>';
});
html += '</ul>';
document.getElementById('message').innerHTML = html;
};
gadgets.util.registerOnLoadHandler(getData);
</script>
<div id="message"> </div>
]]>
</Content>
</Module>
相关文章推荐
- OpenSocial--使用OpenSocial开发IGoogle小工具:开发工具
- Opensocial--使用OpenSocial开发IGoogle小工具:代码结构
- vss团队开发工具使用(个人学习心得)
- Spring Framework 开发参考手册 之十一 使用ORM工具进行数据访问
- 使用腾讯开发平台获取QQ用户数据资料
- CoreThink主题开发(九)使用H-ui开发博客主题之用户个人主页
- StrictMode个人使用笔记(StrictMode是一个开发工具)
- CoreThink主题开发(九)使用H-ui开发博客主题之用户个人主页
- XNA Game Studio是一套有着强大功能和简单界面的游戏制作平台,游戏开发商和游戏玩家都可以使用这套工具开发针对Windows XP以及Xbox360的游戏,XNA Game Studio分为两种版本,一种是面向初学者的EXPRESS版本,还有一种是面向专业用户的专业版。用户使用EXPRESS版本开发游戏完全免费,并且可以随意在PC上发行,不过用该工具开发的游戏若是在360上网络发行,就需要交纳99美元的年费。
- 开发工具的使用与WEB项目的建立【武理解析前端用户交互系统】
- IntelliJ IDEA 开发工具使用学习资料
- 微信开发之ngrok代理外网访问工具的使用
- IOS开发——使用shareSDK授权新浪微博、腾讯微博、微信并获取用户资料
- IntelliJ IDEA 开发工具使用学习资料
- Java爬虫入门简介(四)——抓包工具的使用以及使用HttpClient模拟用户登录的访问
- 个人php开发之工具--listary(一)
- linux下使用Apache为用户搭建个人主页
- 接口测试工具-Jmeter使用笔记(七:用户定义的变量)
- [票据打印]使用扫描仪加快可视化编程工具下票据套打的开发
- iOS 开发 入门:使用Ad Hoc 进行用户测试