- 浏览: 925393 次
- 性别:
- 来自: 宁波
文章分类
最新评论
-
masuweng:
不错!!!!!
自定义表单的设计与实现 -
xhackertxl:
注意将jstock cvs下来后去掉原先的J2SE 1.6li ...
开源项目推荐 — 股票分析软件JStock -
luoyexiaozhu:
最近在学表单这一块,没有思路,能发给我一份学习一下吗86239 ...
WEB项目中自定义表单的设计与实现 -
volunteer521:
楼主,以下的引用类没有对应的jar包,麻烦共享以下,谢谢!im ...
通用数据抽取系统 -
baichixiaozi:
体验下,谢谢分享
原创简化Web开发的框架 - JSPTagEx
目前在51,校内,facebook开发小应用越来越热,这里我仅以xiaonei.com提供的APP Java API为例,探讨他的实现方法,简单来说就是分为2步:
- 申请个应用,得到应用的API Key和Secret两个数值
- 利用这两个数值,我们就可以使用xiaonei的Java API,以下代码用来实现获取你的个人信息和你的好友信息代码(由于邀请API已过期,所以不能使用):
package com.cxlh.servlet; import java.io.IOException; import java.util.ArrayList; import java.util.EnumSet; import java.util.List; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.w3c.dom.Document; import com.common.utils.StrCharUtil; import com.xiaonei.api.ProfileField; import com.xiaonei.api.XiaoneiException; import com.xiaonei.api.XiaoneiRestClient; import com.xiaonei.api.schema.Friend; import com.xiaonei.api.schema.FriendsGetFriendsResponse; import com.xiaonei.api.schema.RequestsSendRequestResponse; import com.xiaonei.api.schema.UsersGetInfoResponse; import net.sf.json.JSONArray; import net.sf.json.JSONObject; /** * Servlet implementation class XN */ public class XN extends HttpServlet { private static final long serialVersionUID = 1L; public static String PARAM_XN_SIG_IN_IFRAME = "xn_sig_in_iframe"; public static String PARAM_XN_SIG_TIME = "xn_sig_time"; public static String PARAM_XN_SIG_ADDED = "xn_sig_added"; public static String PARAM_XN_SIG_USER = "xn_sig_user"; public static String PARAM_XN_SIG_SESSION_KEY = "xn_sig_session_key"; public static String PARAM_XN_SIG_API_KEY = "xn_sig_api_key"; /** * @see HttpServlet#HttpServlet() */ public XN() { super(); // TODO Auto-generated constructor stub } private List<Friend> getFriend(XiaoneiRestClient client) throws Exception{ client.friends_getFriends(); FriendsGetFriendsResponse resp = (FriendsGetFriendsResponse) client.getResponsePOJO(); List<Friend> friends = resp.getFriend(); return friends; } } private String buildUserInfo(int id) { StringBuffer sb=new StringBuffer(); sb.append("<div align=\"center\">\n"); sb.append("图片:<xn:profile-pic uid=\""); sb.append(id); sb.append("\" linked=\"true\" size=\"tiny\"/><br>\n"); sb.append("姓名:<xn:name uid=\""+id+"\" linked=\"true\" shownetwork=\"true\" />\n"); sb.append("</div>\n"); return sb.toString(); } /** * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) */ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=utf-8"); response.setCharacterEncoding("utf-8"); response.setHeader("Charset", "utf-8"); response.setHeader("Cache-Control", "no-cache"); request.setCharacterEncoding("UTF-8"); JSONObject json = new JSONObject(); String cmd=StrCharUtil.formatNullStr(request.getParameter("cmd")); String callback=StrCharUtil.formatNullStr(request.getParameter("callback")); String sessionKey = request.getParameter(PARAM_XN_SIG_SESSION_KEY); XiaoneiRestClient client = new XiaoneiRestClient("你的APIKey", "你的Secret Key", sessionKey); //client.setDebug(true); try{ if("getfriends".equals(cmd)){ JSONArray jj = JSONArray.fromObject(getFriend(client)); json.put("res",jj.toString()); }else if("myinfor".equals(cmd)){ int loggedInUserId = 0; try { loggedInUserId = client.users_getLoggedInUser(); EnumSet<ProfileField> enumFields = EnumSet.of(ProfileField.NAME, ProfileField.HOMETOWN_LOCATION,ProfileField.BIRTHDAY, ProfileField.HEADURL,ProfileField.MAINURL, ProfileField.SEX,ProfileField.STAR,ProfileField.TINYURL, ProfileField.ZIDOU,ProfileField.UNIVERSITY_HISTORY, ProfileField.WORK_HISTORY); Document doc = client.users_getInfo(loggedInUserId, enumFields); json.put("xml",doc.toString()); UsersGetInfoResponse loggedUserGetInfoRes = (UsersGetInfoResponse) client.getResponsePOJO(); json.put("res",JSONArray.fromObject(loggedUserGetInfoRes.getUser())); } catch(XiaoneiException e) { e.printStackTrace(); } }else if("invite".equals(cmd)){ List<Integer> userIds = new ArrayList(); List<Friend> friends = getFriend(client); for (Friend f:friends) { userIds.add(f.getId()); } client.requests_sendRequest(userIds); request.setAttribute("uids", client.getRawResponse()); //进一步看看都成功邀请了哪些朋友 RequestsSendRequestResponse resp = (RequestsSendRequestResponse) client.getResponsePOJO(); List<Integer> uids = resp.getUid(); json.put("res",JSONArray.fromObject(uids)); } if(json!=null){ if(callback.equals("")){ //没有回调函数 response.getWriter().println(json.toString()); }else{ response.setContentType("text/javascript;charset=utf-8"); response.getWriter().println(callback+"("+json.toString()+")"); } } }catch(Exception ex){ ex.printStackTrace(); } } /** * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) */ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub super.doGet(request, response); } }
最终效果见校内网:http://apps.xiaonei.com/testfaqee
评论
2 楼
kongshanxuelin
2009-06-26
目前该应用已过期,被我删掉了,目前已将该接口应用在我的校内应用中:http://apps.xiaonei.com/randfriend/
1 楼
saiyaren
2009-06-26
你那里有校内 API 的doc吗?
发表评论
-
自定义表单的设计与实现
2017-06-13 17:46 8258制作调查表或企业内部系统的时候,经常被一系列表单弄得焦头烂 ... -
高性能高可用的服务端研究之Req-Rep模式(附源码)
2014-03-04 10:01 5553最近在思考高可用的 ... -
也说企业应用中的公式管理功能
2011-02-14 13:41 1331在我们日常开发企业应用或互联网应用中,往往会碰到公式的高级定义 ... -
大学时光的陈年旧作:代码收集软件
2009-08-26 13:37 2053记得读大学的时候,经常喜欢收集代码,今天翻看电脑,发现大学时做 ... -
好用的复选树源码改进版
2009-07-02 15:36 3359在我们项目开发过程中,复选树是经常用碰到的,在Ext,JQ等框 ... -
Apache 2.2.x+Tomcat6集群配置备忘
2009-07-01 10:35 2928在我们部署Web应用时,不可避免大多都会涉及到集群问题,此文作 ... -
网页划词自动翻译的实现
2009-06-15 13:01 1306其中机器翻译调用的Google API,将以下代码另存为即可看 ... -
抓取百度Top500歌曲以及地址源码
2009-05-31 11:11 2994在我整理完在线听歌(http://ting.faqee.com ... -
灰色模型预测算法源码
2008-12-09 08:50 2467在我们进行Web项目开发时,经常需要预测一些离散的数据,那么灰 ... -
AS 3.0语言的魅力(12月1日更新例子)
2008-11-28 09:11 1652以前一直用Java,由于某些Web场景的开发不得不用到Flas ... -
通用各类文档读写的设计与实现
2008-11-21 15:25 1500在我们日常的项目开发中,经常碰到需要读取word等文档的需求, ... -
Web上传文件在线压缩的实现
2008-10-16 08:23 2524在我们开发网站的过程中,如果用户上传的文件过大,由于考虑到服务 ... -
在Java调用VB编写的Dll文件
2008-10-15 08:56 5759在公司里,不同的系统使用不能的语言非常正常,我曾经在一个公司就 ... -
图论—深度优先和广度优先算法源码
2008-10-06 13:21 1885最近由于项目需要,需要实现深度优先和广度优先算法,图论中的基础 ... -
即时通信XMPP协议示例程序(可与QQ,MSN等互通)
2008-09-26 11:24 9145运行环境:JDK1.4+ 第三方包:Smack(Openfir ... -
使用Substance制作漂亮的swing皮肤(附源码)
2008-09-25 09:29 6547最近项目用swing开发桌面程序,感觉本身的swing界面实在 ... -
简易基于Ext留言板源码
2008-09-19 13:15 2694以前接私活的时候给医院做个网站,搞了个基于Ext的小论坛,但后 ... -
Java加密算法汇总
2008-09-19 09:46 1710Base64: package com.cxlh.mm; p ... -
网站全文检索的实现(基于lucene 2.0)
2008-09-18 13:46 2085辛辛苦苦做好了一个网站,接下来就必须为用户提供全文检索的功能, ... -
Google API代码
2008-09-18 08:57 1589<html> <head> ...
相关推荐
【标签】:“校内网微信小程序源码.rar”标签表明了该压缩包内容的核心,即与微信小程序相关的开发资源,特别是针对校内网络应用场景的定制化代码。 【压缩包子文件的文件名称列表】:虽然具体文件列表未给出,但...
在实际应用中,开发这样的SNS源码程序可能会涉及到以下技术知识点: - **前端技术**:HTML5、CSS3用于构建用户界面,JavaScript(可能包括jQuery、Vue.js、React.js等框架)用于交互逻辑和动态数据加载。 - **后端...
以上就是“校内生活小程序源码分享”所涉及的主要知识点,对于想要学习小程序开发、特别是校园应用开发的开发者来说,这是一个极好的实践案例。通过分析源码,不仅可以提升编程技能,还能了解到如何将技术应用到实际...
在这个"vue校内网小程序源码"项目中,我们可以深入理解Vue.js如何应用于微信小程序的开发,同时也可以看到一个典型的毕业设计案例。 1. **Vue.js基础知识** - **虚拟DOM**: Vue通过虚拟DOM技术提高了应用性能,...
5. **学习API和组件**:小程序提供了丰富的API(应用程序接口)和组件,如网络请求、数据库操作、地图、支付等,研究源码中如何使用它们来实现功能。 6. **动手实践**:尝试修改源码,添加新功能或优化现有功能,...
【标题】"校内网小程序源码加截图.7z" 涉及的主要知识点是小程序开发和软件/插件的使用。小程序是一种轻量级的应用形式,它无需下载安装即可在微信、支付宝等平台上使用,极大地提高了用户的便利性。在这个压缩包中...
【标题】"校内交友论坛小程序源码"指的是一个用于创建校园内部社交平台的小程序应用程序的源代码。这种源码通常包含所有必要的编程文件,可以让开发者或学生社团根据自己的需求定制和部署一个在线交流平台。 【描述...
"校内网小程序毕业设计"这一标题表明这是一个关于小程序开发的毕业设计项目,主要聚焦于校内网络应用。它暗示了开发者可能为在校学生,目的是完成其学业要求,同时也可能是为了实现一个方便校园生活的小程序。这个...
【标题】"校内网小程序源码+截图" 指的是一个开源的小程序项目,主要服务于校园内部的网络应用需求。这个项目包含了完整的源代码和相应的截图,可以帮助开发者理解和学习如何构建类似的小程序。 【描述】中的内容...
【标题】"校内网小程序(源码).zip" 提供的是一个关于校内网小程序的源代码...通过深入研究这个校内网小程序的源码,开发者不仅可以提升自己的编程技能,还能了解小程序的开发流程,为未来创建类似应用打下坚实基础。
"校内网小程序"是基于微信小程序平台开发的一个特定应用,它可能是用于高校内部的社交、信息共享或者校园生活服务的工具。 在源码层面,微信小程序的开发主要涉及以下几个技术点: 1. **WXML**:这是一种类似于...
这个“韩顺平SSH框架校内网源码”是针对韩顺平老师的课程内容设计的一个项目,非常适合初学者用来学习和实践。下面我们将深入探讨SSH框架的各个组件以及它们在构建校内网应用中的作用。 1. **Spring框架**:Spring...
【标题】"校内网自动登录发帖程序源码"涉及的是网络编程和自动化操作的领域,主要聚焦在C#和Java两种编程语言的应用。这个程序的目的是实现对"校内网"(可能是早期的社交网络平台,如人人网)的自动登录和发帖功能,...
此源码“ASP.NET源码——[电子商务]山建大校内购物网源码.zip”显然是一个基于ASP.NET技术的电子商务平台的实现,用于模拟或实际应用于山建大(山东建筑大学)的校园内部购物环境。让我们深入探讨一下这个源码可能...
1. **Web开发**:使用`spring-boot-starter-web`,SpringBoot集成了Spring MVC,提供RESTful API服务,用于信息的发布和获取。 2. **数据持久化**:可能使用`spring-boot-starter-data-jpa`配合Spring Data JPA和...
首先,此项目的源码使用了Android Studio作为集成开发环境(IDE),它是Google官方支持的Android应用开发工具,包含了代码编辑器、调试器、构建工具等一系列功能。开发者可以通过修改源码,根据学校的具体需求调整...
【标题】中的“校内网小程序.zip小程序精选源码”表明这是一个包含校内网小程序源代码的压缩文件。...总的来说,这份源码对于提升小程序开发技能,或者对校内网小程序功能进行定制和优化具有很高的价值。
"微信小程序-校内新闻大图-程序源码.zip"是一个包含微信小程序源码的压缩包,专门用于开发展示校内新闻的大图应用。这个源码可以作为学习微信小程序开发、了解其架构和组件的实践案例。 微信小程序的开发涉及到以下...