2

Rails 3 アプリでは、サード パーティの API を使用して Web カメラ ビデオを保存しています。ビデオがサーバーに保存されると、指定した 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 に答える