1

https://example.comで利用できるように、Facebook アプリを Facebook アプリ キャンバスに埋め込んでいますhttps://apps.facebook.com/EXAMPLEhttps://example.com/messages/123私のアプリケーションは、Facebook キャンバスに埋め込まれたページを開く必要があるなどのリンクを含む通知メールを送信します。どうすればこれを達成できますか? 私の現在の考え:

  1. ユーザーが開きますhttps://example.com/messages/123
  2. パラメータのアプリケーション チェックsigned_request
  3. アプリケーションはユーザーをにリダイレクトしますhttps://apps.facebook.com/EXAMPLE/?requested_page=/messages/123
  4. アプリケーションはパラメーターをチェックしrequested_page、このページにリダイレクトします
  5. ユーザーhttps://example.com/messages/123に URL が表示され、キャンバスに埋め込まれます

これを機能させるためのより良いパターンはありますか?

私の最終的な作業ソリューション (Ruby on Rails を使用)

  1. ユーザーが開きますhttps://example.com/messages/123
  2. アプリがキャンバスに埋め込まれているかどうかをアプリケーションがクライアント側でチェックします。

    if(window == top){
        top.location = "https://apps.facebook.com/#{Settings.facebook.app_id}#{request.fullpath}";
    }
    
  3. ユーザーがリダイレクトされますhttps://apps.facebook.com/EXAMPLE/messages/123

  4. アプリケーション ミドルウェアは、存在する場合に変換POSTされます ( https://github.com/dekart/facebooker2/blob/master/lib/facebooker2/rack/post_canvas.rbから借用したコードとアイデア)GETsigned_request
  5. アプリケーションはsigned_requestfb_graph gem で解析します

    FbGraph::Auth.new(app_id, app_secret, :signed_request => params[:signed_request])
    
4

1 に答える 1

0

リンクを更新しhttp://apps.facebook/example/messages/123て、開始をオフにするようにします。

認証を確認するときは、認証/ログイン後のリダイレクトを同じページに設定するだけです。

理由もなくユーザーを複数のページにリダイレクトすることは、良い習慣ではありません。

于 2011-11-27T01:18:05.963 に答える