与直接使用包装的 Twitter 等库相比,SpringSocial 为我带来了哪些额外好处
-
28-09-2019 - |
题
快速浏览一下 SpringSocial,就会发现每个社交网络都有自己不同的独特之处。没有公开通用的接口
- 对网络进行身份验证
- 发信息
上面列出的“验证网络”的原因是我想包括应用程序本身发布消息而不仅仅是个人用户的工具。
至少 Jtwitter 公开了一个简单的 API 来进行身份验证,然后发送推文。与相对简单的 Jtwitter 相比,要使用 SS 实现相同的复杂性是压倒性的。SS 需要 Spring,commons http 客户端,这显然比 jtwitter 多得多。如果 SS 有一个通用的机制来连接然后发送而不是为每个机制发送自定义代码,那么它可能是值得的,但最终它并没有......
我对 SS 的假设或看法是错误的吗?
解决方案
Spring Social 在幕后由四个部分组成:
- 用于处理 3 足 OAuth 舞蹈的 OAuth API(最有价值的功能 IHMO)
- 用于维护用户帐户信息的持久层(OAuth 密钥、profileUrl、imageUrl...)
- 使用服务提供商帐户登录(例如脸书连接)
- Java绑定到提供者的API,大多基于RestTemplate
只有最后一部分可以比较 包装库 (例如。推特)。如果您不需要建立 OAuth 连接,请不要使用 Spring Social。
我的 2 美分想到了 SS :
乍一看,我有点失望。Spring Social 被描述为 Spring 框架的扩展,允许您将应用程序与软件即服务 (SaaS) 提供商(例如 Facebook 和 Twitter)连接。不幸的是,v1.0 中的这个框架无法轻松扩展以支持没有 OAuth 的连接。
如果 SS 被分成 3 部分应该会更好,例如:
- Spring-oauth
- spring-mvc-登录
- spring-social(仅提供者绑定)
其他提示
Spring Social主要关注 简化OAuth相关问题, ,当使用这些社交 API 时。
其目的不是提供统一的 API 不同社交网站上的类似功能 - 因此,它为每个网站都有专门的 API。
这并不意味着您不能在 Spring Social 之上构建一个额外的 API 层来统一 API 的某些(对您来说很重要)方面。
您投诉了 Spring Social API 的复杂性 - 我不明白,你能准确地说出,使用 Spring Social 发布推文有什么复杂之处吗:
twitter.updateStatus("Hey, I'm tweeting with #Spring Social!");
(这是来自SpringSource 博客文章)
并且,关于依赖关系:大多数使用 Spring Social 的应用程序很可能已经将 Spring 和 HttpClient 作为依赖项,所以这些都不算什么 额外的 对于典型的 Spring Social 开发人员来说。
最后,如果 jTwitter 满足您的需求,那么它似乎是最适合您的。对于每个人来说,他们自己的。;-)
也可以看看:
- 社交化 Spring 应用程序 - SpringSource 博客
- Spring 如何简化社交网络交互 - TheServerSide 上的讨论