2012-05-10 2 views
2

В приложении rails 3 я использую сторонний API для сохранения видео в веб-камерах. Когда видео сохраняется на своем сервере, они дают возможность отправить вам обратный вызов указанному вами URL-адресу. С их сайта:Как обрабатывать ответ обратного вызова API в Rails 3 app


Callback

Callbacks предназначен для опытных пользователей, которые хотят получать уведомления, когда видео заканчивается обработка на Framey серверов. Если вы решите получать обратные вызовы в настройках своей учетной записи, то Framey будет отправлять POST-видео и миниатюрные 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, поэтому мне нужно настроить маршрут. В моей конфигурации/routes.rb файла У меня есть

post "framey/callback/" 

В моем приложение/контроллеры/файла framey_controller.rb есть это:

class FrameyController < ApplicationController 
    def callback 
    end 
end 

мне нужно сделать что-то вроде

render :json =>???? 
ли

Я знаком с использованием POST через HTML-формы и/или ajax. Я не уверен, как захватить 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 
Смежные вопросы