【问题标题】:Facebook Desktop ApplicationFacebook 桌面应用程序
【发布时间】: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 的服务通常需要浏览器。对于其他人,您可能只需要使用httparty gem 或rest-client gem 之类的客户端,使用用户名和密码执行 https POST 请求。还有一些人可能会使用基本身份验证(您通常可以通过相同的 http 客户端 gem 访问)。

标签: ruby login desktop-application facebook-login shoes


【解决方案1】:

如 cmets 中所述,您最好的选择可能是使用 OAuth,但您不一定需要实施任何其他方法来使其正常工作。使用 oauth ruby​​ gem,您可以构建用户令牌并使用该令牌执行必要的getputpost 请求。由于 Facebook 支持 OAuth 令牌(我相信),这可能是最好的方法。

关于 ruby​​ OAuth gem here的信息

【讨论】:

    猜你喜欢
    • 2011-08-04
    • 1970-01-01
    • 2015-04-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多