play!框架_在Play上使用twitter4j! 框架和安全社交很容易
play!框架
在昨天的个人黑客马拉松期间,我启动了一个项目,我可能会在这里介绍。 但是,最酷的启示是(再次)启动和运行起来有多么容易。
- 创建一个新的Play项目
- 添加Secure Social并为Twitter配置它,并使用示例中的InMemoryUserService。 (所有这些都在这里http://securesocial.ws/guide/getting-started.html进行了描述,仅需一分钟)
- 将Dependecy添加到twitter4j到您的Build.scala中,如下所示:
'org.twitter4j'% 'twitter4j-core'% '3.0.3'
- 保护您的控制器操作方法,以强制使用Twitter进行(登录)身份验证。 请记住-因为您使用的是InMemoryUserService,所以不存储任何身份验证数据-您每次都必须重新连接。
@SecureSocial.SecuredAction
- 然后,我添加了这些标准方法来获取Authenticated Twitter User,Token,Secret和twitter4J Connection :( tokenSecret,Token和当前User来自Secure Social Oauth1 Connection,用于验证Twitter Connection。
public static Twitter getTwitterInstance() { // The factory instance is re-useable and thread safe. TwitterFactory factory = new TwitterFactory(); Twitter twitter = new TwitterFactory().getInstance();twitter.setOAuthConsumer(Play.application().configuration() .getString('securesocial.twitter.consumerKey'), Play.application().configuration().getString('securesocial.twitter.consumerSecret')); twitter4j.auth.AccessToken accessToken = new twitter4j.auth.AccessToken(token(), tokenSecret()); twitter.setOAuthAccessToken(accessToken); return twitter; } public static String tokenSecret() { String retval = ''; scala.collection.Iterator iterator = Application.getCurrentUser().oAuth1Info().iterator(); while (iterator.hasNext()) { OAuth1Info oAuth1Info = iterator.next(); retval = oAuth1Info.secret(); } return retval; } public static String token() { String retval = ''; scala.collection.Iterator iterator = Application.getCurrentUser().oAuth1Info().iterator(); while (iterator.hasNext()) { OAuth1Info oAuth1Info = iterator.next(); retval = oAuth1Info.token(); } return retval; } public static Identity getCurrentUser() { return (Identity) ctx().args.get(SecureSocial.USER_KEY); }
- 然后,我在控制器中添加了一些代码以列出(例如)我的关注者
long cursor = -1; IDs ids; System.out.println('Listing following ids.'); do { ids = twitter.getFriendsIDs(cursor); for (long id : ids.getIDs()) { twitter4j.User twitterUser = twitter.showUser(id); twitterUsers.put(twitterUser.getScreenName(), new TwitterUser(id,twitterUser)); System.out.println(id); } } while ((cursor = ids.getNextCursor()) != 0);
是的,就是…
参考: 在Play上使用twitter4j! 通过Poornerd博客的JCG合作伙伴 Brian Porter 可以轻松实现Framework and Secure Social 。
翻译自: https://www.javacodegeeks.com/2013/03/using-twitter4j-with-play-framework-and-secure-social-is-this-easy.html
play!框架
play!框架_在Play上使用twitter4j! 框架和安全社交很容易相关推荐
- vue ui框架_你为什么要使用前端框架Vue?
1.前端框架的根本意义 1.1 前端框架的好处 最开始学习前端框架的时候(我第一个框架是 React)并不理解框架能带来什么,只是因为大家都在用框架,最实际的一个用途就是所有企业几乎都在用框架,不用框 ...
- rola物联网框架_如何搭建一个物联网系统框架?
下面将谈到几个关键问题: 设备如何接入网络? 设备间如何通信? 物联网数据的用途? 如何搭建起一个物联网系统框架呢?它的技术架构又是怎么样呢? 物联网终端软件系统架构? 物联网云平台系统架构? 1.物 ...
- java rest框架_比较Java REST文档框架
java rest框架 决定在记录REST API时选择哪种Java框架可能很麻烦. 在本博文中,我们将简要比较我们自己使用的REST Web服务的三个文档框架,以及它们如何与Spring框架(这是F ...
- mongodb 聚合框架_如何使用MongoDB的聚合框架处理高级数据处理
mongodb 聚合框架 MongoDB has come a long way. Even though there are many NoSQL databases out there, Mong ...
- python深度学习include框架_用Python实现深度学习框架
1.大咖推荐:复旦大学计算机学院教授邱锡鹏.品质科技创始人兼CEO袁进辉(@老师木).格灵深瞳创始人兼CEO赵勇.奇虎360集团副总裁邓亚峰联合推荐 2.干货满满:从零开始用Python实现自己的深度 ...
- python后端学什么框架_【后端开发】python框架是什么?有哪些?
框架就是通过提供一个开发Web程序的基本架构,Python开发框架把PythonWeb程序开发摆到了流水线上.本篇文章将给大家介绍几款Python框架,有需要的朋友了解一下. Python开发框架有助 ...
- go语言mysql框架_超级详细:Go语言框架Gin和Gorm实现一个完整的待办事项微服务...
前言 本文通过一步一步的设计,最终实现一个完善的todo应用. 我们使用GO框架Gin用户路由控制和返回数据.使用Gorm用于操作数据库. 读者可根据本教程操作,最终实现列出的各项功能. 技术清单 本 ...
- java jquery 框架_[Java教程]小谈Jquery框架
[Java教程]小谈Jquery框架 0 2013-12-23 18:01:16 现在Jquery框架对于开发人员基本上是无人不知,无人不晓了,用起来十分的方便,特别是选择器十分强大,提高了我们的开发 ...
- java 详解 搭建 框架_在Eclipse中搭建Struts框架过程详解
虽然用MyEclipse搭建Struts框架是更为便捷的方式,但是用Eclipse可以增强自己对Struts的理解.本文演示了使用Eclipse搭建Struts 1.2框架的过程.此项目实现了简单的功 ...
最新文章
- Qt Style Sheet 翻译(中)--类似css
- 深度学习在其他领域的应用1:密码破解
- C语言之链表探究之单向链表(List)、附双向循环链表参考博文地址
- CMMI与Agile敏捷开发比较之二:需求管理篇(兼谈用敏捷实现和满足CMMI的ReqM过程域)...
- LeetCode 40. 组合总和 II(回溯)
- 该设备或资源(Web 代理)未设置为接受端口1080上的连接
- knowledge_based topic model - 基于知识的主题模型概述
- 2021qq服务器维护到什么时候,2021QQ扩列下架了吗怎么没了?QQ暂停服务到什么时候...
- 炫酷流光个人主页源码分享及在线部署教程
- 让老主板更新驱动程序不再拒绝新网卡(转)
- android 坐标度分秒转换工具,经纬度格式转换定位工具
- Linux之问题详解(一):Linux怎么创建一个html文件通过CentOS部署html网站到服务器
- 通知器(Notifier)
- IFA与“色“俱进,三星“量子点+曲面”如何掀起新变革?
- TabLayout的使用详解
- 西门子 PLC S7-1500 硬件配置—PLC编程
- 量子计算机与人脑接口,科技是把双刃剑,“脑机接口”的利与弊,让人细思极恐...
- Thread--线程让步yield
- 经典好用的软件,不容错过
- 13_Pyton之递归函数