将 facebook、twitter 和 google plus 集成到另一个 web 应用程序中,以便将该应用程序中的帖子作为 facebook 中的状态、twitter 中的推文和 google plus 中的状态写掉。我正在使用 ruby on rails 开发它。我搜索了很多关于这个但没有找到任何对我有用的东西。可以发布一些对此有帮助的链接或想法。
3 回答
对于 Facebook,我必须建议您使用 Koala Gem ......
对于 Twitter 推特 https://twitter.com/about/resources/buttons推特 按钮可以在这里轻松生成并放置在您的网站上。它工作得很好。您甚至可以自定义 Twitter 中的所有内容。它非常用户友好。
对于谷歌加 谷歌加 我只是在谷歌加..面临一些困难,因为它有这么多的限制。我仍然想分享一个链接,您可以按照它..
我希望它会正常工作...
有很多 gem 可用于访问这些 API:
由于 API 是不稳定的,因此最好使用像resque这样的排队系统在 Post#after_create 中对调用进行排队,然后让 resque worker 异步执行调用。
我建议使用 Koala ( https://github.com/arsduo/koala/wiki ) 与 Facebook 交互。它是迄今为止维护最好的 fb 库。
否则,您应该了解有关 OAuth2 的一两件事:
- https://github.com/intridea/oauth2
- https://developers.facebook.com/docs/authentication/
- https://developers.google.com/accounts/docs/OAuth2
使用https://github.com/sferik/twitter与 twitter 进行交互。
对于 google,我发现手动实现 XML 聊天比使用任何现有的 API 包装器更容易。要将 XML 响应转换为数据,您可以结合使用Response#parsed
oauth2 gem 和Array.wrap
ActiveSupport 的方法(XML 解析器无法将单个节点告诉一个可能重复的节点(因此是一个数组),它只出现一次,在我看来,XML 的一个很大的缺点)
或者您可以直接向 google 询问 JSON,这样您就已经拥有正确结构化的数据。
而且,正如@brendan-benson 非常正确地所说,只在后台工作人员中进行 API 调用,而不是在您的正常请求/响应周期中。