Facebooker: Redirect nach fb_user_action

stimmen
0

Ich versuche, Benutzer Facebooker Geschichten zu Facebook zu veröffentlichen. Wenn ein Benutzer ein Formular auf meiner Website einreicht, ich verwende fb_user_action den Dialog zu zeigen , zu fragen , ob eine Geschichte veröffentlicht werden kann. Wenn das entlassen wird, möchte ich auf eine andere Seite umgeleitet werden .

Facebook- Dokumentation für showFeedDialog spricht über die Fortsetzung Parameter. Es dauert eine JavaScript - Funktion , die aufgerufen wird , nachdem der Dialog des Feldes verwiesen. Ich kann nicht die Funktion aufgerufen werden.

<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 %>

Alles funktioniert perfekt, außer der Fortsetzung Funktion nicht aufgerufen. Irgendwelche Vorschläge für das, was ich falsch mache?

Veröffentlicht am 26/04/2009 um 06:32
quelle vom benutzer
In anderen Sprachen...                            


2 antworten

stimmen
0

Ok, ich habe noch nie verwendet Rubin in meinem Leben, aber etwas über die Facebooker Anruf scheint mir falsch. Hier ist, was fb_user_action wie von Ihrem Link aussieht:

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

Also, auf das, was ich über page.call aufblickte, dass scheint mir, wie es Javascript wie folgt generieren:

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

Allerdings ist die Unterschrift von showFeedDialog:

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

Die Reihenfolge der Parameter, die die Facebooker fb_user_action Funktion für die Javascript erzeugt, scheint mir völlig falsch. Der Callback-Parameter sieht aus wie es stattdessen durch eine Null ersetzt werden würde, so dass nichts jemals aufgerufen würde.

Was passiert, wenn statt fb_user_action zu nennen, die Sie gerade page.call selbst, aber mit den Parametern in der richtigen Reihenfolge verwendet?

Auch hier konnte ich hier die page.call und / oder Ruby-Syntax werden andernfalls zu verstehen. Aber ich würde doppelt überprüfen, dass Facebooker Funktion, da die FB API die ganze Zeit ändert.

Beantwortet am 26/04/2009 um 07:24
quelle vom benutzer

stimmen
2

Ich grub gerade in diesen mehr. Ich glaube, dass dies ein Facebooker Bug. Ich hatte den Rückrufparameter in einem page.literal Aufruf zu wickeln. Die modifizierte Methode, die funktioniert, ist unter:

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

Ich werde mit dem Facebooker Entwickler folgt bis zu versuchen, dies in einer zukünftigen Version behoben.

Beantwortet am 26/04/2009 um 18:45
quelle vom benutzer

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