2013-04-24 216 views
5

所以我想编写一个简单的桌面应用程序登录到某人的Facebook。现在,这是我唯一的目标,只需登录Facebook即可。我在Ruby中编写代码并使用鞋子GUI工具包。这里是我到目前为止的代码:Facebook桌面应用程序

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,我也试着谷歌搜索的主题,但所有的教程是为铁轨。

我见过mechanize但我不知道它会跟鞋一起玩,因为它看起来像是试图实现它自己的按钮和东西。

我是超新的红宝石,不知道如何从桌面应用程序登录。任何建议或教程来帮助我?我的意思是我需要从“首先包含这些文件...”开始,我是一个绝对的初学者。

+1

你需要什么,一旦你登录到Facebook的做信息? – Linuxios 2013-04-27 17:11:27

+0

@Linuxios我的程序将在屏幕上显示信息列表,如果你喜欢列表中的一件事,那么你就可以'喜欢'它将被贴到你的墙上 – Richard 2013-04-27 17:55:49

+3

通常,你不会登录通过将用户名和密码存储到您的Facebook的FB到Facebook。该流程是围绕信任(或不信任)您的应用程序应用程序令牌而设计的。基本上,您需要在您的应用程序中提供一个嵌入式浏览器,能够与FB进行交互,并且您的应用程序ID以及该浏览器上的用户交互的组合将授予您的应用程序一个安全令牌,以访问获取部分FB图用户同意你可以拥有的数据。 – 2013-04-28 09:46:02

回答

4

正如在评论中提到的,你最好的选择可能是使用OAuth,但你不一定需要实现其他任何东西才能使它工作。使用oauth红宝石,您可以构建用户令牌并使用该令牌执行必要的getputpost请求。由于Facebook支持OAuth令牌(我相信),这可能是最好的方式。

在Ruby OAuth的宝石here