2011-08-10 5 views
2

私は作ったアプリケーションを介していくつかのタブを持っているFacebookのページを持っています。彼らはプロモーションタブです。これらのタブのいくつかについては、ページが「好き」になるまで、代わりのティーザーのコンテンツを表示したいと思います。私はPHPを使用していないので、JSまたはRubyのみでお願いします。PHPを使わないiframeアプリケーションのためのreveal-tab/like-gate

fb接続のものは必要ありませんし、私のウェブサイトのアプリ/ページが好きかどうかを知る必要もありません。必要なものはすべてiframe経由でFacebookに送信されます。

ありがとうございます!

[編集:レッドブルのファンページをチェックアウト:http://www.facebook.com/redbullこれは私がやりたいものです]

答えて

0

はPHPずに実用的なソリューションを手に入れました。インスパイアのためのdwarfyのthis postに感謝します。

これはJSソリューションではありません。私はJSで行うことができます。クロスサイトスクリプティングが必要なので、私は興味がないと思っています。一言で言えば、あなたのiframeアプリを介してあなたのページが好きかどうかを知りたい場合は、signed_requestを別の方法でダイジェストする必要があります。

私のアプリはRuby on Railsです。 FB側では、私は物事をサンドボックスモードに保ち、仕事で/テストしました。テストに適したローカル環境を取得する方法が不明です。とにかく...

  • 私は宝石fbgraphをインストール/必要としました。
  • ゲートコントローラ&ビュー作成:rails g controller gate index fbindex

アプリ/コントローラ/ gate_controller.rb:

class GateController < ApplicationController 
    def index 
    end 

    def fbindex 
     app_secret = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' 
     @signed_request = FBGraph::Canvas.parse_signed_request(app_secret, params[:signed_request]) 
    end 
end 

アプリ/ビュー/ゲート/ index.html.erb:

<h1>Gate#index</h1> 
<p>Find me in app/views/gate/index.html.erb</p> 

<form action="/gate/fbindex" method="post"> 

signed request: <input type="text" name="signed_request"> 
<input type="submit"/> 
</form> 

app/views/gate/fbindex.html.erb:

<h1>Gate#index</h1> 
<p>Find me in app/views/gate/fbindex.html.erb</p> 

<%= @signed_request.inspect %> 


<% if @signed_request["page"]["liked"] %> 
You like me! 
<% else %> 
You suck, cuz you don't like me 
<% end %> 

FB設定を正しく取得する: enter image description here

+0

hi cloudMagick。申し訳ありませんが、あなたは "signed_request"で何を送っていますか?そのユーザーからのトークンが必要ですか?どこでそれを手に入れたのですか?多くの、多くの、事前に感謝します。この問題は、ここでは非常にまれですstackoverflow上のすべてのルビー – Jan

関連する問題