Facebooker: Přesměrování po fb_user_action

hlasů
0

Snažím se uživatelským Facebooker publikovat příběhy na Facebooku. Když uživatel odešle formulář na mých stránkách, jsem pomocí fb_user_action zobrazit dialogové okno s dotazem, zda příběh může být vydán. Když který je propuštěn, chci přesměrovat na jinou stránku.

Facebook je dokumentace pro showFeedDialog hovoří o parametru pokračování. Trvá funkci JavaScript, která bude volána po dialog se zamítá. Nemůžu se tato funkce být volána.

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

Vše funguje perfektně, kromě funkce pokračování nedostane volal. Nějaké návrhy na to, co dělám špatně?

Položena 26/04/2009 v 06:32
zdroj uživatelem
V jiných jazycích...                            


2 odpovědí

hlasů
0

Ok, já jsem nikdy použity Ruby ve svém životě, ale něco o tom Facebooker volání vypadá špatně se mnou. Tady je to, co fb_user_action vypadá z vašeho odkazu:

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že na základě toho, co jsem se podíval nahoru o page.call, že se mi zdá, jako by to přinese javascript takto:

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

Avšak podpis showFeedDialog je:

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

Pořadí parametrů, které funkce Facebooker fb_user_action vytváří pro JavaScript se zdá úplně špatně se mi. Parametr callback vypadá, že by namísto toho být nahrazen nulová, takže nic by se nikdy dorovnán.

Co když namísto volání fb_user_action, stačí použit page.call sebe, ale s parametry ve správném pořadí?

Opět platí, že bych mohl být nedokážou pochopit page.call a / nebo syntaxe Ruby zde. Ale já bych double-zkontrolujte, zda je funkce Facebooker, protože FB API neustále mění.

Odpovězeno 26/04/2009 v 07:24
zdroj uživatelem

hlasů
2

Jen jsem kopal do toho víc. Věřím, že se jedná o Facebooker chyba. Musel jsem si zabalit parametr zpětné volání v page.literal hovoru. Modifikovaná metoda, která funguje, je níže:

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

Budu sledovat s Facebooker vývojáře, aby se pokusili dostat tento opraven v budoucí verzi.

Odpovězeno 26/04/2009 v 18:45
zdroj uživatelem

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