将 Facebook、twitter、google plus 集成到另一个应用程序中

Posted

技术标签:

【中文标题】将 Facebook、twitter、google plus 集成到另一个应用程序中【英文标题】:Integrating Facebook,twitter,google plus into another app 【发布时间】:2012-10-04 12:41:59 【问题描述】:

将 facebook、twitter 和 google plus 集成到另一个 web 应用程序中,以便将该应用程序中的帖子作为 facebook 中的状态、twitter 中的推文和 google plus 中的状态写掉。我正在使用 ruby​​ on rails 开发它。我对此进行了很多搜索,但没有找到任何对我有用的东西。可以发布一些对此有帮助的链接或想法。

【问题讨论】:

在不相关的注释上,请不要 approve suggested edits 使用反引号来强调,而是拒绝或改进它们 - 参见例如here为什么 【参考方案1】:

对于 Facebook,我必须建议您使用 Koala Gem...

对于推特 推特 https://twitter.com/about/resources/buttons 一个推特按钮可以很容易地在这里生成并放置在您的网站上。它工作得很好。您甚至可以自定义 twitter 中的所有内容。它对用户非常友好。

对于 Google+ Google+ 我只是在 Google plus 上工作。因为它有很多限制,所以面临一些困难。 不过我还是想分享一个链接,你可以关注它..

How to share content from our site to google plus

我希望它能正常工作......

【讨论】:

【参考方案2】:

我建议使用 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与推特互动。

对于 google,我发现手动实现 XML 聊天比使用任何现有的 API 包装器更容易。要将 XML 响应转换为数据,您可以使用 oauth2 gem 的 Response#parsed 方法和 ActiveSupport 的 Array.wrap 的组合(XML 解析器无法将单个节点告诉可能重复的节点(因此数组) 只出现一次,在我看来是 XML 的一个很大的缺点)

或者你可以直接向谷歌索要 JSON,这样你的数据结构就已经正确了。

而且,正如@brendan-benson 所说的那样,只在后台工作人员中进行 API 调用,而不是在您的正常请求/响应周期中。

【讨论】:

【参考方案3】:

有很多 gem 可用于访问这些 API:

Twitter API Wrapper Facebook API Wrapper Google Plus API Wrapper

由于 API 是不稳定的,最好使用像 resque 这样的排队系统在 Post#after_create 中对调用进行排队,然后让 resque worker 异步执行调用。

【讨论】:

以上是关于将 Facebook、twitter、google plus 集成到另一个应用程序中的主要内容,如果未能解决你的问题,请参考以下文章

将 facebook、twitter 和 Google+ 共享按钮放在 html 中的最佳方式? [关闭]

最佳实践使用 Facebook、Twitter、Google 登录或注册

通过 Twitter、Facebook、LinkedIn 和 Google Plus 分享

如何检查请求是不是来自 google、facebook、twitter 和 bing 爬虫? [复制]

html opengraph:facebook,twitter,google标签

通过 jQuery 计算 Facebook、Twitter、Google+ 份额的不同方法?