Facebook показывает-вкладку / лайк-гейт для приложения iframe без PHP (Rails или javascript, пожалуйста) - PullRequest
2 голосов
/ 10 августа 2011

Итак, у меня есть страница на Facebook, на которой есть несколько вкладок с помощью приложений, которые я создал. Это рекламные вкладки. Для некоторых из этих вкладок я хотел бы показывать альтернативный контент тизера, пока им не «понравилась» страница. Я НЕ использую PHP, поэтому, пожалуйста, только JS или Ruby.

Мне не нужно ничего делать с fb connect, и при этом мне не нужно знать, нравится ли им приложение / страница с моего сайта ... все, что мне нужно, будет происходить на Facebook через iframe.

Спасибо!

[редактировать: проверить фан-страницу Redbull: http://www.facebook.com/redbull это то, что я хотел бы сделать]

1 Ответ

0 голосов
/ 12 августа 2011

Получил рабочее решение без PHP.Спасибо dwarfy на этот пост за вдохновение.

Это НЕ решение JS, и я не думаю, что то, что мне интересно, можно сделать с помощью JS, потому что это потребуетмежсайтовый скриптинг, который нет-нет.Короче говоря, вам нужно переварить signed_request так или иначе, если вы хотите сказать, нравится ли кому-то ваша страница через ваше приложение iframed.

Так что мое приложение - Ruby on Rails.Со стороны FB я держал вещи в режиме песочницы и работал / тестировал в prod.Не уверен, как получить подходящую локальную среду для тестирования.в любом случае ...

  • Я установил / потребовал гем fbgraph .
  • создал контроллер шлюза и просмотры: rails g controller gate index fbindex

app / controllers / 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

app / views / gate / 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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...