该任务将与微信 API 进行大量交互,以便向其服务器执行 GET 请求和 POST 请求。有趣的是,他们没有任何关于如何使用 Web 应用程序(仅限移动设备)执行此操作的文档,因此需要一些试验和错误(请参阅文档)。
通过阅读他们的文档,您似乎有两个基本的选择来解决这个问题。一种是在没有大数据库的情况下制作移动应用程序,而是在微信api上提供一个小层。这意味着每次用户访问您的 Web 应用程序时,在您的应用程序最多可以为他们进行 api 调用 2 小时之后,他们必须授予您的应用程序权限(客户端授权)。在这种情况下,您必须将他们的令牌和用户信息存储为 cookie 或本地变量,并使用它来发布和获取来自该用户的消息。
第二种方法是创建一个完整的应用程序,您将在其中注册用户和一个数据库来存储他们的信息以及应用程序提供的自定义授权代码,让您访问一年(使用访问令牌和刷新令牌它似乎)。如果您有设计或处理用户的经验,这可能是存储方面更简单的方法,但访问令牌可能会提供障碍。
一旦您拥有所有必要的令牌来获得为用户发布和获取消息的权限,那么就可以从您的 Rails 应用程序中调用它们。这通常是在 ruby 包装器的帮助下处理的,但看起来微信不存在 ruby 包装器。相反,您可以使用像Faraday这样的 gem来“轻松”进行 api 调用以通过 url 获取和发布。有趣的是,微信 API 似乎没有“消息”,而是“媒体”、“时间轴”和“时刻”。我的猜测是“时刻”是最接近的。
也可能是你所说的“微信”和这个不一样,这很有意义。希望这有助于作为一个简短的大纲。
另外,请在此处查看他们的一些其他 api 文档,例如此文档。