【发布时间】:2013-04-24 19:10:12
【问题描述】:
所以我正在尝试编写一个简单的桌面应用程序来登录某人的 Facebook。现在这是我唯一的目标,只需登录 facebook。我正在用 Ruby 编写代码,并且正在使用鞋子 GUI 工具包。这是我到目前为止的代码:
Shoes.app do
stack(:margin => 12) do
para "Enter your login information"
flow do
para "Username: "
@login_text = edit_line
end
flow do
para "Password: "
@pass_text = edit_line(:secret => true)
end
@login_button = button "Login"
@login_button.click {
login(@login_text.text, @pass_text.text )
}
end
end
def login(username, password)
alert(username + " " + password)
end
所以它肯定会进入登录功能,因为它会在单击登录按钮后提醒我在文本框中输入的任何内容。但我不知道从哪里开始登录到 facebook 部分……我试过查看Facebook's instructions,我也试过谷歌搜索这个主题,但所有教程都是针对 rails 的。
我见过mechanize,但我不知道它与鞋子的搭配效果如何,因为它看起来像是在尝试实现自己的按钮和东西。
我是 ruby 的超级新手,不知道如何从桌面应用程序登录。有什么建议或教程可以帮助我吗?我的意思是我需要从“首先包含这些文件......”开始,我是一个绝对的初学者。
【问题讨论】:
-
登录 Facebook 后需要做什么?
-
@Linuxios 好吧,我的程序将在屏幕上显示一个信息列表,如果你喜欢列表中的一件事,那么你可以“喜欢”它,它会被贴在你的墙上
-
一般情况下,您不会通过将用户名和密码存储到您的FB来登录Facebook。该过程是围绕信任(或不信任)您的应用程序应用程序令牌而设计的。本质上,您将需要在您的应用程序中提供一个能够与 FB 交互的嵌入式浏览器,并且您的应用程序 ID 的组合,加上该浏览器上的用户交互,将授予您的应用程序一个安全令牌,以访问获取 FB 图的部分用户同意您可以拥有的数据。
-
@NeilSlater 好的,关于如何将 Web 浏览器嵌入到 ruby 应用程序中的任何想法?
-
这因服务而异,特别是该服务如何进行身份验证 - 有几种常见的方法。使用 OAuth 的服务通常需要浏览器。对于其他人,您可能只需要使用
httpartygem 或rest-clientgem 之类的客户端,使用用户名和密码执行 https POST 请求。还有一些人可能会使用基本身份验证(您通常可以通过相同的 http 客户端 gem 访问)。
标签: ruby login desktop-application facebook-login shoes