ruby-on-rails-3 - 如何在 Rails 3 应用程序中处理 API 回调响应

标签 ruby-on-rails-3 json api post callback

在 Rails 3 应用程序中,我使用第三方 API 来保存网络摄像头视频。当视频保存到他们的服务器时,他们会提供一个选项,向您发送回调到您指定的网址。从他们的网站:


回调

回调适用于希望在 Framey 服务器上处理完视频时收到通知的高级用户。如果您在帐户设置中选择接收回调,一旦转换完成,Framey 就会将视频和缩略图 URL 发布到您的服务器。

以下是我们发布到您的服务器的数据示例:

"video": {  
  "name": "ecf7c330-549c-012e-9d34-7c6d628c53d4",        
  "filesize": 123456,       
  "duration": 15.62,        
  "state": "uploaded",              
  "views": 0,    
  "data": {
    "my_user_id": 1,
    "video_title": "Contest Submission"
  },
  "flv_url": "http://framey.com/videos/source/ecf7c330-549c-012e-9d34-7c6d628c53d4.flv",
  "mp4_url": "http://framey.com/videos/source/ecf7c330-549c-012e-9d34-7c6d628c53d4.mp4",
  "large_thumbnail_url": "http://framey.com/thumbnails/large/ecf7c330-549c-012e-9d34-7c6d628c53d4.jpg",
  "medium_thumbnail_url": "http://framey.com/thumbnails/medium/ecf7c330-549c-012e-9d34-7c6d628c53d4.jpg",
  "small_thumbnail_url": "http://framey.com/thumbnails/small/ecf7c330-549c-012e-9d34-7c6d628c53d4.jpg"
}

我正在努力了解如何处理这个问题,但我认为我可以从你们这些好心人那里得到正确的指导。他们指定了 POST 方法,所以我必须设置一条路由。在我的 config/routes.rb 文件中,我有

post "framey/callback/"

在我的 app/controllers/framey_controller.rb 文件中有这样的内容:

class FrameyController < ApplicationController
  def callback
  end
end

我需要做类似的事情

render :json =>???? 

我熟悉通过 HTML 表单和/或 ajax 使用 POST。我不知道如何获取他们发回给我的 JSON。

预先感谢您的帮助,如果您需要更多详细信息,请告诉我。

最佳答案

在app/controllers/framey_controller.rb中

class FrameyController < ApplicationController
  def callback
    v = Video.new
    v.name = params[:video][:name]
    v.user_id = params[:video][:data][:user_id]
    v.question_id = params[:video][:data][:question_id]
    v.save
  end
end

关于ruby-on-rails-3 - 如何在 Rails 3 应用程序中处理 API 回调响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10527484/

相关文章:

ruby-on-rails - 如何在 Ruby on Rails 3 中一次恢复所有迁移?

json - 如何按市值获取 coingecko API 的前 300 个硬币的列表?

java - 在 Android 中发送和接收 json 对象

javascript - 只获取 FileStack JSON.stringify 的 url 值?

java - 改造Android Studio中无法得到响应

python - 如何在 Flask 中返回图像作为 GET 请求响应的一部分?

ruby-on-rails - Heroku rake 迁移

ruby-on-rails - Rails 无法修改卡住的字符串

ruby - respond_to only format.js 用于所有 mime 类型

json - 使用来自 API 的 JSON 数据的 D3 线图