0

我正在尝试构建一个简单的 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

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

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

那可能吗?谢谢

4

1 回答 1

0

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

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

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

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

于 2013-01-28T08:40:41.750 回答