在Play上使用twitter4j! 框架和安全社交很容易

在昨天的个人黑客马拉松期间,我启动了一个项目,我可能会在这里介绍。 但是,最酷的启示是(再次)启动和运行起来有多么容易。

  1. 创建一个新的Play项目
  2. 添加Secure Social并为Twitter配置它,并使用示例中的InMemoryUserService。 (所有这些都在这里http://securesocial.ws/guide/getting-started.html进行了描述,仅需一分钟)
  3. 将Dependecy添加到twitter4j到您的Build.scala中,如下所示:
    'org.twitter4j'% 'twitter4j-core'% '3.0.3'
  4. 屏幕截图2013年2月1日的14.54.45

  5. 保护您的控制器操作方法,以强制使用Twitter进行(登录)身份验证。 请记住-因为您使用的是InMemoryUserService,所以不存储任何身份验证数据-您每次都必须重新连接。
    @SecureSocial.SecuredAction
  6. 然后,我添加了这些标准方法来获取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);
    }
  7. 然后,我在控制器中添加了一些代码以列出(例如)我的关注者
    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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值