2013-04-24 217 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