2012-05-10 28 views
2

在rails 3應用程序中,我使用第三方API來保存攝像頭視頻。當視頻保存到他們的服務器時,他們會給您一個選項,讓您回叫一個指定的網址。從他們的網站:如何在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/" 

在我的應用程序/控制器/ framey_controller.rb文件有這樣的:

class FrameyController < ApplicationController 
    def callback 
    end 
end 

我需要做的是這樣

render :json =>???? 

我熟悉通過HTML表單和/或ajax使用POST。我不知道如何抓住他們發回給我的JSON。

在此先感謝您的幫助,並請讓我知道如果您需要更多的細節。

+0

感謝共享此 - Framey是測試回調有疼痛感。 –

回答

2

在應用程序/控制器/ 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 
相關問題