2

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


打回来

回调适用于希望在 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。

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

4

1 回答 1

2

在 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
于 2012-05-11T18:57:12.837 回答