- 浏览: 1595877 次
- 来自: 上海
-
文章分类
- 全部博客 (374)
- Java (101)
- Struts (54)
- Oracle (30)
- JavaScript (16)
- Spring (27)
- Hibernate (16)
- MyEclipse (3)
- JSF (1)
- FreeMarker (2)
- SiteMesh (2)
- JfreeChart (2)
- Ibatis (2)
- JSP (12)
- MyBatis (4)
- SWFupload (1)
- EJB (4)
- Jboss (4)
- WebService (2)
- Linux (16)
- Android (2)
- XML (6)
- Java 网络编程 (13)
- AXIS2 (1)
- FTP (1)
- Jswing (1)
- Socket (3)
- 杂文选集 (6)
- solr (2)
- PS (1)
- Tomcat (7)
- JDBC (9)
- Highcharts (1)
- maven (1)
- Nodejs (0)
- navicat (2)
- Exception (5)
- eclipse (3)
- jQuery (1)
- springMVC (4)
- MySQL (11)
- SVN (1)
- Sql Server (1)
- zookeeper (1)
- JVM (1)
- Groovy (2)
- Git (1)
- Nginx (1)
- DynamicReport (1)
- IDEA (2)
- JasperReports (1)
- Postgresql (2)
- Mac (1)
- gradle (1)
- 数据结构算法 (1)
最新评论
-
hpu145:
引用引用
java 千分位的添加和去除 -
被遗忘的下路:
少了个junit-4.8.2的包
SSH2整合完整案例(四十三) -
白天看黑夜:
java过滤emoji字符处理,希望能帮到你http://ww ...
emoji 表情图片解决方法 -
caipeiming:
这个挺好JavaScript实现input输入框控件只允许输入 ...
js 控制文本框只能输入中文、英文、数字等 -
双子树:
东西太好啦受教啊
Struts2 JSP中将list,set ,Map传递到Action然后<s:iterator>遍历(三十五)
开发平台
http://connect.qq.com/
http://open.taobao.com/
http://open.weibo.com/
可以下载相应的sdk 和 API
http://connect.qq.com/
http://open.taobao.com/
http://open.weibo.com/
可以下载相应的sdk 和 API
package com.fanbaobao.action; import java.io.IOException; import java.util.HashMap; import java.util.Map; import java.util.Properties; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import org.apache.log4j.Logger; import net.sf.json.JSONObject; import com.bjdata.util.SecurityUtils; import com.fanbaobao.service.FbbUser; import com.fanbaobao.service.FbbService.Client; import com.fanbaobao.util.FbbUtil; import com.fanbaobao.util.MD5Util; import com.sun.xml.internal.fastinfoset.stax.events.Util; import com.taobao.api.internal.util.WebUtils; public class TaobaoAction extends BaseAction { private static final Logger logger = Logger.getLogger(TaobaoAction.class); private String errorMsg; public static String KEY = "xxx"; //沙箱环境key public static String SECRET = "xxxx"; public static String REDIRECT="l"; public static String AUTHORIZEURL="";//沙箱环境 public static String TOKENURL=""; //沙箱环境 public static String SAFEKEY="*(.com#$^&"; static{ try { Properties propert = new Properties(); java.io.InputStream in = TaobaoAction.class.getClassLoader().getResourceAsStream("login.properties"); propert.load(in); KEY=propert.getProperty("TAOBAO_KEY",KEY); SECRET=propert.getProperty("TAOBAO_SECRET",SECRET); REDIRECT=propert.getProperty("TAOBAO_REDIRECT",REDIRECT); AUTHORIZEURL=propert.getProperty("TAOBAO_AUTHORIZEURL",AUTHORIZEURL); TOKENURL=propert.getProperty("TAOBAO_ACCESSTOKENURL",TOKENURL); } catch(Exception e) { } } public void toLogin() throws IOException{ StringBuilder url=new StringBuilder(AUTHORIZEURL); url.append("?response_type=code") .append("&client_id=").append(KEY) .append("&redirect_uri=").append(REDIRECT) .append("&state=").append(MD5Util.MD5Encode(SECRET+SAFEKEY+KEY, null)); getResponse().sendRedirect(url.toString()); //重定向到新浪授权页面 } public String doLogin() throws Exception{ HttpServletRequest request=this.getRequest(); String code=request.getParameter("code"); String state=request.getParameter("state"); logger.info("taobao doLogin state:"+state); if(Util.isEmptyString(code)){ errorMsg="淘宝快捷登录授权失败,请重新授权!"; return LOGIN; } Map<String, String> param = new HashMap<String, String>(); param.put("grant_type", "authorization_code"); param.put("code",code); param.put("client_id",KEY); param.put("client_secret",SECRET); param.put("redirect_uri",REDIRECT); param.put("view", "web"); param.put("state",state); param.put("scope", "item"); //item,promotion,usergrade String responseJson=WebUtils.doPost(TOKENURL, param, 3000, 3000); JSONObject jo=JSONObject.fromObject(responseJson); if(jo.get("taobao_user_id")==null){ errorMsg="淘宝快捷登录验证失败!"; return LOGIN; } String user_id =jo.get("taobao_user_id").toString(); String user_name=jo.get("taobao_user_nick").toString(); HttpSession session=request.getSession(); Client client = FbbUtil.getClient(); FbbUser fbbUser= client.doOauth(3, user_id); session.setAttribute("fbbUserInfo", fbbUser); return SUCCESS; } public String getErrorMsg() { return errorMsg; } public void setErrorMsg(String errorMsg) { this.errorMsg = errorMsg; } }
package com.fanbaobao.action; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import com.fanbaobao.service.FbbUser; import com.fanbaobao.service.FbbService.Client; import com.fanbaobao.util.FbbUtil; import weibo4j.Oauth; import weibo4j.Users; import weibo4j.Weibo; import weibo4j.http.AccessToken; import weibo4j.model.User; public class SinaAction extends BaseAction { private String errorMsg; public String toLogin()throws Exception{ try { HttpServletRequest request=getRequest(); Oauth oauth=new Oauth(); getResponse().sendRedirect(oauth.authorize("code")); //重定向到新浪授权页面 } catch (Exception e) { e.printStackTrace(); } return null; } /** * 新浪微博登录的回调 * @return * @throws Exception */ public String doLogin() throws Exception{ HttpServletRequest request=getRequest(); HttpSession session=request.getSession(); String accesstoken = null; String code=request.getParameter("code"); if(code!=null) { Oauth oauth=new Oauth(); AccessToken accessToken=oauth.getAccessTokenByCode(code); accesstoken=accessToken.getAccessToken(); if(accessToken!=null) { Weibo weibo=new Weibo(); weibo.setToken(accessToken.getAccessToken()); Users users=new Users(); User weiboUser=users.showUserById(accessToken.getUid()); HttpServletResponse response=getResponse(); System.out.println(weiboUser.getId()); System.out.println(weiboUser.getGender()); System.out.println(weiboUser.getName()); System.out.println(accesstoken); // if(first<2){ // if(first==1){ //用户第一次登录,发一条微博,且follow 51bi // Timeline timeline=new Timeline(); // timeline.UpdateStatus("我注册成为了#比购网#会员,免费注册后去淘宝购物,最高有35%的现金返还。最给力的是:到拉手、京东商城、1号店等400多家知名商城不仅能享受最低价格,还能额外省钱40%。喜欢网购的童鞋都去注册一个省钱吧!官方网址:http://www.51bi.com/space/biuser/register.jsp?currentUrl=http://www.51bi.com/taobao/"); // try { // Friendships fm = new Friendships(); // fm.createFriendshipsById("1718952754");//follow 51bi // fm.createFriendshipsById("2908640880");//follow 51bi // } catch (Exception e) { // } // } //未完善资料 Client client = FbbUtil.getClient(); FbbUser fbbUser= client.doOauth(1, weiboUser.getId()); session.setAttribute("fbbUserInfo", fbbUser); return SUCCESS; } }else{ errorMsg="新浪oauth 认证请求非法!"; return LOGIN; } return SUCCESS; } public String getErrorMsg() { return errorMsg; } public void setErrorMsg(String errorMsg) { this.errorMsg = errorMsg; } }
package com.fanbaobao.action; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import com.fanbaobao.service.FbbUser; import com.fanbaobao.service.FbbService.Client; import com.fanbaobao.util.FbbUtil; import com.qq.connect.QQConnectException; import com.qq.connect.api.OpenID; import com.qq.connect.api.qzone.PageFans; import com.qq.connect.api.qzone.UserInfo; import com.qq.connect.javabeans.AccessToken; import com.qq.connect.javabeans.qzone.PageFansBean; import com.qq.connect.javabeans.qzone.UserInfoBean; import com.qq.connect.oauth.Oauth; public class QzoneAction extends BaseAction { private String errorMsg; public String toLogin()throws Exception{ this.getResponse().setContentType("text/html;charset=utf-8"); try { this.getResponse().sendRedirect(new Oauth().getAuthorizeURL(this.getRequest())); } catch (QQConnectException e) { e.printStackTrace(); } return null; } public String doLogin()throws Exception{ HttpServletResponse response=this.getResponse(); HttpServletRequest request=this.getRequest(); HttpSession session=request.getSession(); response.setContentType("text/html; charset=utf-8"); try { AccessToken accessTokenObj = (new Oauth()).getAccessTokenByRequest(request); String accessToken = null, openID = null; Long tokenExpireIn = null; if (accessTokenObj.getAccessToken().equals("")) { errorMsg="QQ登录校验失败!"; return LOGIN; } else { accessToken = accessTokenObj.getAccessToken(); tokenExpireIn = accessTokenObj.getExpireIn(); request.getSession().setAttribute("demo_access_token", accessToken); request.getSession().setAttribute("demo_token_expirein", String.valueOf(tokenExpireIn)); OpenID openIDObj = new OpenID(accessToken); openID = openIDObj.getUserOpenID(); request.getSession().setAttribute("demo_openid", openID); UserInfo qzoneUserInfo = new UserInfo(accessToken, openID); UserInfoBean userInfoBean = qzoneUserInfo.getUserInfo(); // PageFans pageFansObj = new PageFans(accessToken, openID); PageFansBean pageFansBean = pageFansObj.checkPageFans("97700000"); com.qq.connect.api.weibo.UserInfo weiboUserInfo = new com.qq.connect.api.weibo.UserInfo(accessToken, openID); com.qq.connect.javabeans.weibo.UserInfoBean weiboUserInfoBean = weiboUserInfo.getUserInfo(); // 第三方处理用户绑定逻辑 String user_id=openID; String nickname=new String(userInfoBean.getNickname()); System.out.println(user_id); System.out.println(nickname); Client client = FbbUtil.getClient(); FbbUser fbbUser= client.doOauth(2, user_id); session.setAttribute("fbbUserInfo", fbbUser); return SUCCESS; // session.setAttribute("oauth_token", oauth_token); // session.setAttribute("oauth_token_secret", oauth_token_secret); // InterUser interUser=new InterUser(Constants.LOGIN_FROM_QQ,user_id,null,nickname); // interUser.setBiUserService(biUserService); // interUser.setRuledao(ruledao); // interUser.setAccesstoken(accessToken); // if (tokenExpireIn!=null) { // interUser.setExpireIn(String.valueOf(tokenExpireIn)); // } // session.setAttribute("uid", user_id); // session.setAttribute("fromsite", Constants.LOGIN_FROM_QQ); // int first=interUser.doUserLogin(request,response,false); //接口登录 // if(first<2){ // session.setAttribute("loginname",nickname); // if (first==-1) { // session.setAttribute("msg","save userBind error"); // }else if (first==-2) { // session.setAttribute("msg","error"); // } // return "qzone"; // } } } catch (QQConnectException e) { e.printStackTrace(); return LOGIN; } } public String getErrorMsg() { return errorMsg; } public void setErrorMsg(String errorMsg) { this.errorMsg = errorMsg; } }
//login.properties ############ #t.sina login ########### client_ID =xx client_SERCRET =xx redirect_URI =xxx baseURL=https://api.weibo.com/2/ accessTokenURL=https://api.weibo.com/oauth2/access_token authorizeURL=https://api.weibo.com/oauth2/authorize ############ #taoBao login ########### #TAOBAO_KEY=xxxx #TAOBAO_SECRET=xxxxxx #TAOBAO_REDIRECT=xxxx #authorizeURL=https://oauth.taobao.com/authorize #accessTokenURL=https://oauth.taobao.com/token //qqconnectconfig.properties app_ID = x app_KEY = xx redirect_URI = xxx scope = get_user_info,add_topic,add_one_blog,add_album,upload_pic,list_album,add_share,check_page_fans,add_t,add_pic_t,del_t,get_repost_list,get_info,get_other_info,get_fanslist,get_idollist,add_idol,del_ido,get_tenpay_addr baseURL = https://graph.qq.com/ getUserInfoURL = https://graph.qq.com/user/get_user_info accessTokenURL = https://graph.qq.com/oauth2.0/token authorizeURL = https://graph.qq.com/oauth2.0/authorize getOpenIDURL = https://graph.qq.com/oauth2.0/me addTopicURL = https://graph.qq.com/shuoshuo/add_topic addBlogURL = https://graph.qq.com/blog/add_one_blog addAlbumURL = https://graph.qq.com/photo/add_album uploadPicURL = https://graph.qq.com/photo/upload_pic listAlbumURL = https://graph.qq.com/photo/list_album addShareURL = https://graph.qq.com/share/add_share checkPageFansURL = https://graph.qq.com/user/check_page_fans addTURL = https://graph.qq.com/t/add_t addPicTURL = https://graph.qq.com/t/add_pic_t delTURL = https://graph.qq.com/t/del_t getWeiboUserInfoURL = https://graph.qq.com/user/get_info getWeiboOtherUserInfoURL = https://graph.qq.com/user/get_other_info getFansListURL = https://graph.qq.com/relation/get_fanslist getIdolsListURL = https://graph.qq.com/relation/get_idollist addIdolURL = https://graph.qq.com/relation/add_idol delIdolURL = https://graph.qq.com/relation/del_idol getTenpayAddrURL = https://graph.qq.com/cft_info/get_tenpay_addr getRepostListURL = https://graph.qq.com/t/get_repost_list version = 2.0.0.0
评论
2 楼
vmvmvm80
2015-10-23
大神能把全套代码发来不,最近要开发这个,又是新手一枚.参考官方的东西不懂怎么结合到自己的系统 443915350@163.com
1 楼
yl23250
2014-02-21
大神,你能把全套发我么,主要是你那baseAction 谢谢拉 977628413@qq.com
相关推荐
新浪微博与阿里巴巴旗下淘宝联合推出的“微博淘宝版”于日前正式上线,账户、数据、营销、移动——这四大要素是此次微博与淘宝携手的关键。
- **消息盒子新体验:**无需登录QQ即可与好友聊天,简化流程,节省流量。 - **缺点:** - **安全性不足:**未对下载资源进行安全评估,存在安全隐患。 - **不支持Flash插件:**无法流畅播放部分多媒体内容。 - ...
货比多家是一款网络购物辅助工具,它能帮助您在网上购物时在Internet上的多家网店快速的查找、对比同一商品的销售价格等信息,帮您寻找佳购物机会:可对淘宝网、卓越网、当当网、乐购网、No5时尚广场、八佰拜、新浪、 ...
以“淘宝情人节告白季”为例,该活动通过联合新浪微博,成功吸引了大量用户参与,产生了广泛的社交影响力,展示了SNS营销的巨大潜力。随着SNS的重要性日益凸显,许多大型企业已设立专门的SNS部门,以充分利用这些...
例如,企业或个人使用的Microsoft SkyDrive、Facebook、Twitter、YouTube、QQ、淘宝网、新浪微博、人人网等服务,这些服务中存储的大量用户数据在云中进行加密处理,而密文检索技术就是打开这些加密数据桎梏的金钥匙...
- **社会贡献**:杨永全长期致力于推动信息无障碍领域的发展,成功推动了一些大型网站如QQ空间、腾讯微博、新浪微博和淘宝网进行无障碍改造。 #### 三、热点新闻与技术趋势 - **Windows运行时的设计细节**:探讨了...