ruby-on-rails - 如何创建 Ruby on Rails 应用程序以向聊天移动应用程序发送消息/从聊天移动应用程序发送消息

标签 ruby-on-rails ruby ruby-on-rails-3 social-networking social

我的任务是创建一个可以与移动平台上的聊天应用程序通信的 ROR 应用程序。那个聊天应用叫做“微信”。您可以向其他微信用户发送即时消息。我的工作是创建一个可以

  • 获取微信消息
  • 在微信上留言。

  • 这是我目前得到的所有信息。听起来在这个初始阶段它现在只能是一个基于网络的应用程序。我不知道,也许这对你们专家来说是一件很快的事情,但对于像我这样的新手来说,这听起来是一项艰巨的任务:) 我只有创建基本 ROR 应用程序的经验。也许您的专家可以概述如何做到这一点的一般步骤。可能是一个展示其他人如何完成类似项目的操作文档。只是想先得到一些想法。如果我得到它们,我将发布有关该项目的更多详细信息

    谢谢

    最佳答案

    该任务将与微信 API 进行大量交互,以便向其服务器执行 GET 请求和 POST 请求。有趣的是,他们没有任何关于如何使用 Web 应用程序(仅限移动设备)执行此操作的文档,因此需要一些试验和错误(参见 documentation)。

    通过阅读他们的文档,您似乎有两个基本的选择来解决这个问题。一种是在没有大数据库的情况下制作移动应用程序,而是在微信api上提供一个小层。这意味着每次用户访问您的 Web 应用程序时,在您的应用程序最多可以为他们进行 2 小时的 api 调用之后,他们必须授予您的应用程序权限(客户端授权)。在这种情况下,您必须将他们的 token 和用户信息存储为 cookie 或本地变量,并使用它来发布和获取来自该用户的消息。

    第二种方法是创建一个完整的应用程序,您将在其中注册用户和一个数据库来存储他们的信息以及应用程序提供的自定义授权代码,让您访问一年(使用访问 token 和刷新 token 它似乎)。如果您有设计或处理用户的经验,这可能是存储方面更简单的方法,但访问 token 可能会提供障碍。

    一旦您拥有所有必要的 token 来获得为用户发布和获取消息的权限,那么就可以从您的 Rails 应用程序中调用它们。这通常是在 ruby​​ 包装器的帮助下处理的,但看起来微信不存在 ruby​​ 包装器。相反,您可以使用像 Faraday 这样的 gem 。 “轻松”进行 api 调用以通过 url 获取和发布。这里有趣的是,微信 API 似乎没有“消息”,而是“媒体”、“时间轴”和“时刻”。我的猜测是“时刻”是最接近的。

    也可能是你所说的“微信”和这个不一样,这很有意义。希望这有助于作为一个简短的大纲。

    另外,请参阅他们的一些其他 api 文档,例如 here .

    关于ruby-on-rails - 如何创建 Ruby on Rails 应用程序以向聊天移动应用程序发送消息/从聊天移动应用程序发送消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17605826/

    相关文章:

    ruby-on-rails - 正则表达式 : only string can be accepted nothing else ?

    iphone - 使用 apn_on_rails 记录 Apple 推送通知服务器的响应?

    ruby - 从二进制文件中解析 Unix 时间戳

    ruby-on-rails - Rails 回形针从其他样式生成缩略图

    javascript - 如何将 Javascript 函数绑定(bind)到动态加载的 HTML

    ruby-on-rails - ActionView::Template::Error (application.css 未预编译) Rails

    ruby-on-rails - 如何限制要在 View 中加载的记录数???

    ruby-on-rails - 移至生产服务器的 Rails 应用出现 "dump format error for symbol"错误

    mysql - Rails 中的简单报告 -- from_date 到 to_date

    ruby-on-rails - 在 Ruby 中访问 JSON 对象