让我们以一个列出好友名称的简单实例来开始入门。但是,先了解由 OpenSocial API 定义的角色十分重要:
本节中讨论的“列出好友”实例可以获取查看者和查看者的好友,并显示查看者好友的列表。介绍了如何获取并管理 OpenSocial 应用程序中的数据。基本步骤如下:
下面将详细讨论这些步骤。
要获取有关查看者和查看者好友的信息,请为要检索的每种数据类型创建新的 DataRequest 对象并向其添加请求。
/**
* Request for friend information when the page loads.
*/
function getData() {
var req = opensocial.newDataRequest();
req.add(req.newFetchPersonRequest(opensocial.DataRequest.PersonId.VIEWER), 'viewer');
req.add(req.newFetchPeopleRequest(opensocial.DataRequest.Group.VIEWER_FRIENDS), 'viewerFriends');
req.send(onLoadFriends);
};
newFetch*Request() 调用中的最后一个参数是用于检索响应中的数据的字符串关键字。
假设您已在上一节做了实例练习。现在,您想要进行有关返回数据的练习,其类型为 opensocial.DataResponse。以下 onLoadFriends() 回调函数将解析用作参数的 DataResponse,并显示查看者和查看者好友的姓名:
/**
* Parses the response to the friend information request and generates
* html to list the friends by their display name.
*
* @param {Object} dataResponse Friend information that was requested.
*/
function onLoadFriends(dataResponse) {
var viewer = dataResponse.get('viewer').getData();
var html = 'Friends of ' + viewer.getDisplayName();
html += ':
使用传送到 newFetch*Request() 的字符串关键字调用 DataResponse.get(key) 将返回包括请求结果的 ResponseItem。
调用 dataResponse.get(key).getData() 将返回成功请求的实际响应数据。以下是与常规请求相关联的响应数据类型:
如果给定请求不成功,则 DataResponse.get(key).hasError() 返回 true。
本节将列出以上讨论的“列出好友”应用程序的完整代码。
在应用程序中,通常您想做的第一件事是请求您应用程序所需的数据。请注意,代码包括该行:
gadgets.util.registerOnLoadHandler(getData);
这会将 getData() 注册为应用程序的装载处理程序,这意味着应用程序进行的第一件事是获取查看者和查看者好友数据(通过 getData())。
以下是完整实例。它会将其输出写入到 ID 为 "message" 的
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/14734354/viewspace-432966/
,如需转载,请注明出处,否则将追究法律责任。
';
var viewerFriends = dataResponse.get('viewerFriends').getData();
viewerFriends.each(function(person) {
html += '
';
document.getElementById('message').innerHTML = html;
};
gadgets.util.registerOnLoadHandler(getData);