<Module>
<ModulePrefs title="hello world example" >
<Require feature="opensocial-0.8" />
</ModulePrefs>
<Content type="html"><![CDATA[
><div id="dom_handle"></div><script language="javascript"> function getUserCharming(userId) { var req = opensocial.newDataRequest(); var params1 = {}; params1[opensocial.DataRequest.PeopleRequestFields.PROFILE_DETAILS] = [opensocial.Person.Field.THUMBNAIL_URL, opensocial.Person.Field.GENDER]; req.add(req.newFetchPersonRequest(userId, params1), "user");
var idspec = opensocial.newIdSpec({ "userId" : userId, "groupId" : "FRIENDS" }); var params2 = {}; params2[opensocial.DataRequest.PeopleRequestFields.MAX] = 100; params2[opensocial.DataRequest.PeopleRequestFields.PROFILE_DETAILS] = [opensocial.Person.Field.THUMBNAIL_URL, opensocial.Person.Field.GENDER]; req.add(req.newFetchPeopleRequest(idspec, params2), "friends"); req.send(showCharming); } function getOwnerCharming() { getUserCharming("OWNER"); }
var userGender; var userCharming; var friendCount; var html; function showCharming(response) { var user = response.get("user").getData(); var friends = response.get("friends").getData();
var userPic = user.getField(opensocial.Person.Field.THUMBNAIL_URL); userGender = user.getField(opensocial.Person.Field.GENDER).displayValue; userCharming = 0; friendCount = 0; if (friends) { friends.each(computeCharming); } postCharmingActivity(user); html = "<img src='" + userPic + "'></img>" + user.getDisplayName() + "'s Charming is: " + userCharming + "/" + friendCount + "<hr><br>";
if (friends) { friends.each(showFriendLink); } document.getElementById("dom_handle").innerHTML = html; } function postCharmingActivity(user) { if(user.isViewer()) { var params = {}; params[opensocial.Activity.Field.TITLE] = user.getDisplayName() + "'s Charming is: " + userCharming + "/" + friendCount; var activity = opensocial.newActivity(params); opensocial.requestCreateActivity(activity, opensocial.CreateActivityPriority.HIGH); } } function computeCharming(friend) { friendCount++; var friendGender = friend.getField(opensocial.Person.Field.GENDER).displayValue; if(friendGender != userGender){ userCharming++; } } function showFriendLink(friend) { var friendGender = friend.getField(opensocial.Person.Field.GENDER).displayValue; var friendPic = friend.getField(opensocial.Person.Field.THUMBNAIL_URL); html += "<a href='javascript:getUserCharming(\"" + friend.getId() + "\")'><img src='" + friendPic + "' title='" + friend.getDisplayName() + "' style='margin:20px;'></img></a>"; } gadgets.util.registerOnLoadHandler(getOwnerCharming);</script>
]]></Content>
</Module>
view-source:http://hosting.gmodules.com/ig/gadgets/file/106174878109025583958/myosapp.xml
分享到:
相关推荐
opensocial-python-client
OpenSocial 是一种开放标准,旨在简化社交网络应用的开发,使得开发者可以编写一次应用,就能在多个支持OpenSocial的社交平台上运行。这个框架的核心是一组API,它允许开发者使用JavaScript、XML和HTML来构建跨平台...
OpenSocial 是一个开放标准的框架,旨在帮助社交网络平台开发者创建可跨多个网站运行的应用程序。这个框架的主要目标是提供一套通用的API(应用程序接口),让开发者能够轻松地构建社交应用,无需为每个社交网络单独...
OpenSocial Java客户端库是开发社交应用的一个关键工具,主要用于与支持OpenSocial标准的社交网络平台进行交互。这个压缩包“opensocial-java-client-1.0.zip”包含了实现OpenSocial API的Java类和方法,使开发者...
OpenSocial 是一个开源标准,旨在帮助开发者创建可以在任何社交网络平台上运行的应用程序。Java 版 Shindig 是 OpenSocial 的实现之一,它提供了一个服务器端的框架,使得开发者可以使用 Java 语言开发这些社交应用...
从给定的文件信息来看,这是一本关于OpenSocial网络编程的专业书籍,由Lynne Grewe撰写,出版于2009年4月,出版社为Wiley Publishing, Inc.。该书旨在深入探讨OpenSocial平台及其在社交网络编程中的应用,提供了从...
OAuth在OpenSocial中的应用是社交网络和开放API领域的一个重要话题。OAuth是一种授权协议,它允许第三方应用在用户授权的情况下,安全地访问其在其他服务上的数据,而无需获取用户的登录凭证。OpenSocial则是一个...
### OpenSocial概述 #### 一、OpenSocial定义与特点 OpenSocial是一种通用API,它允许开发者在多个不同的社交网络平台上构建一致的应用程序体验。通过提供一套标准的接口,OpenSocial简化了开发者的工作流程,使...
OpenSocial规范是一个旨在促进社交网络应用跨平台互操作性的开放标准。这个规范由一系列API组成,允许开发者创建可以在多个社交网站上运行的应用程序,而无需为每个平台单独编写代码。OpenSocial的出现是为了打破...
【OpenSocial 示例】 在IT领域,OpenSocial是一种标准的API集合,主要用于构建社交网络应用。这个"Opensocial Sample"项目提供了一个学习和实践OpenSocial技术的平台。它由Google发起,旨在创建一种通用的、跨平台的...
Opensocial简介.pdf
骨干开放社交AppDataStore AppDataStore是用于Backbone数据持久性的OpenSocial适配器。 它代替了Backbone.Sync()来处理保存到OpenSocial容器的AppData存储中。用法包含Backbone.js之后,包含Backbone.OpenSocial....
《Aipo与OpenSocial容器:Java技术在社交应用中的运用》 Aipo-opensocial是一个专为Aipo应用程序设计的OpenSocial容器,它的主要目的是在Aipo平台上提供一个环境,使得开发者可以创建并运行基于OpenSocial标准的...
在React中编写的OpenSocial小工具介绍这是创建用于在opensocial容器中托管的opensocial小工具的示例项目。 该项目是通过引导的。 有关如何执行常见任务的信息,请参见最新版本的create-react-app指南。脚步首先安装...
opensocial-gadget-angularjs-sample 这是一个与angular.js一起使用的opensocial小工具示例,适用于infoScoop OpenSource V4.0。 如何使这项工作 从下载infoscoop-4.0.0.0-quickstart并安装它。 转到管理员页面>小...
OpenSocial 是一个开源标准,旨在为社交网络平台提供一套统一的应用程序编程接口(API),让开发者能够轻松地创建可在多个社交网站上运行的应用程序。这个标准最初由Google发起,后来得到了许多其他社交网络的支持,...
这个项目“wave-life”将这一经典游戏带入了社交网络平台,特别是OpenSocial框架下的Google Wave和Rizzoma。 OpenSocial是由Google发起的一个开放标准,旨在为社交应用提供一个统一的API接口,使得开发者可以方便地...