Facebooker: Przekierowanie po fb_user_action

głosy
0

Próbuję Facebooker użytkownika do publikowania historie Facebooku. Gdy użytkownik prześle formularz na mojej stronie, używam fb_user_action aby wyświetlić okno dialogowe z pytaniem, czy historia może być opublikowany. Kiedy ten zostaje odrzucony, chcę przekierować na inną stronę.

Facebooka dokumentacja showFeedDialog mówi o parametrze kontynuacji. Zajmuje funkcji JavaScript, która będzie wywoływana po dialogowe zostaje oddalona. Nie mogę się że funkcja do wywołania.

<script language=javascript>
var continuation = function () {
  location.href = 'http://target-url.com';
}
</script>

<% init_fb_connect XFBML,Api do %>
  <%= fb_user_action(@action, @message, @prompt, 'continuation') %>
<% end %>

Wszystko działa doskonale z wyjątkiem funkcji kontynuacja nie zostanie wywołana. Wszelkie sugestie dotyczące tego, co robię źle?

Utwórz 26/04/2009 o 06:32
źródło użytkownik
W innych językach...                            


2 odpowiedzi

głosy
0

Ok, nigdy nie używałem Ruby w moim życiu, ale coś o tym zaproszeniu Facebooker wygląda źle na mnie. Oto co fb_user_action wygląda z linku:

def fb_user_action(action, user_message = "", prompt = "", callback = nil)
  update_page do |page|
    page.call "FB.Connect.showFeedDialog",action.template_id,action.data,action.target_ids,action.body_general,nil,page.literal("FB.RequireConnect.promptConnect"),callback,prompt,user_message
  end
end

Tak więc, na podstawie tego co patrzyłem w górę o page.call, że patrzy na mnie jak będzie generować JavaScript takiego:

FB.Connect.showFeedDialog(template_id,data,target_ids,body_general,nil,promptConnect,callback,prompt,user_message);

Jednak podpis showFeedDialog jest:

FB.Connect.showFeedDialog(template_id,data,body_general,target_ids,callback,prompt,user_message)

Kolejność parametrów funkcja fb_user_action Facebooker generuje dla JavaScript wydaje się całkowicie błędne mnie. Parametr callback wygląda to zamiast być zastąpiona przez zera, więc nic by kiedykolwiek się nazywa.

Co jeśli zamiast dzwonić fb_user_action, wystarczy stosować page.call siebie, ale z parametrów w odpowiedniej kolejności?

Ponownie, mogę być w braku zrozumienia page.call i / lub składni Ruby tutaj. Ale bym dokładnie sprawdzić tę funkcję Facebooker, jak API FB zmienia się cały czas.

Odpowiedział 26/04/2009 o 07:24
źródło użytkownik

głosy
2

Właśnie wbiły się to bardziej. Wierzę, że jest to błąd Facebooker. Musiałem owinąć parametr wywołania zwrotnego w page.literal rozmowy. Zmodyfikowana metoda, która działa jest poniżej:

def fb_user_action(action, user_message = "", prompt = "", callback = nil)
  update_page do |page|
    page.call "FB.Connect.showFeedDialog",action.template_id,action.data,action.target_ids,action.body_general,nil,page.literal("FB.RequireConnect.promptConnect"),page.literal(callback),prompt,user_message
  end
end

będę śledzić z deweloperem Facebooker postarać się to naprawić w przyszłej wersji.

Odpowiedział 26/04/2009 o 18:45
źródło użytkownik

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more