【问题标题】:How to authenticate facebook command line app (Ruby)如何验证 facebook 命令行应用程序(Ruby)
【发布时间】:2013-01-28 16:40:41
【问题描述】:

我正在尝试构建一个简单的 ruby​​ 命令行 facebook 客户端,它将用户的所有朋友显示在屏幕上 (fb_friends.rb),我正在使用 fb_graph ruby​​ gem:https://github.com/nov/fb_graph

问题是,方法 user.friends 需要让用户首先验证应用程序。

我在这里读过一个类似的问题:Ruby Command line application to update Facebook Status

据我了解,您无法在命令行中对用户进行身份验证。 我的问题是:还有其他方法可以验证用户身份吗?

我在想什么:在身份验证时,用户系统的默认网络浏览器会弹出,然后用户将授予访问权限并进行身份验证,现在浏览器窗口将关闭,用户将返回命令行应用程序和在那里他可以看到他的朋友列表。

这可能吗? 谢谢

【问题讨论】:

    标签: ruby facebook facebook-graph-api command-line gem


    【解决方案1】:

    如果不共享服务器端身份验证令牌,Open Graph 应用程序目前无法实现这一点。 Facebook 要求您保持对应用程序身份验证令牌的控制(而不是共享)。如果用户滥用命令行应用程序,并使用您的应用程序 ID 和令牌向服务器发出大量请求,那么您将是其中的一员。

    实现目标的最佳方式是在命令行应用程序和 Facebook 图形 api 之间使用由您控制的服务器。命令行 api 可以将用户引导到您的网站,他们将在该网站上点击“Facebook Connect”按钮。用户将通过您的服务器对应用程序进行身份验证,您可以向他们提供一个令牌,他们可以与他们的用户 ID 配对以发布状态更新或通过您的服务器检索朋友。

    命令行 api 将与您的服务器交互,而您的服务器与 Facebook Graph API 交互。

    这种方法的一大好处是,如果 Facebook 的 API 发生变化,您的客户端不会中断(无需更改您自己服务器的 API)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-16
      • 2012-05-05
      • 1970-01-01
      • 1970-01-01
      • 2012-11-23
      相关资源
      最近更新 更多