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