【问题标题】:How to handle API callback response in Rails 3 app如何在 Rails 3 应用程序中处理 API 回调响应
【发布时间】:2012-05-10 04:25:16
【问题描述】:

在 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。

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

【问题讨论】:

  • 感谢分享——Framey 很难测试回调。

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


【解决方案1】:

在 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

【讨论】:

    猜你喜欢
    • 2015-06-20
    • 1970-01-01
    • 2014-10-14
    • 1970-01-01
    • 2018-07-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多