Facebooker: Ανακατεύθυνση μετά fb_user_action

ψήφοι
0

Προσπαθώ να Facebooker χρήστη να δημοσιεύσει τις ιστορίες στο Facebook. Όταν ένας χρήστης υποβάλλει μια φόρμα στην ιστοσελίδα μου, είμαι με τη χρήση fb_user_action να δείξει το διάλογο ρωτώντας εάν μια ιστορία μπορεί να δημοσιευθεί. Όταν αυτό απορρίπτεται, θέλω να ανακατευθύνει σε μια διαφορετική σελίδα.

Του Facebook τεκμηρίωση για showFeedDialog μιλάει για την παράμετρο συνέχεια. Παίρνει μια λειτουργία JavaScript που θα ονομάζεται μετά από το παράθυρο διαλόγου απορρίπτεται. Δεν μπορώ να πάρω ότι η λειτουργία πρέπει να ονομάζεται.

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

Όλα λειτουργούν άψογα εκτός από τη λειτουργία συνέχισης δεν παίρνει ονομάζεται. Οποιεσδήποτε προτάσεις για το τι κάνω λάθος;

Δημοσιεύθηκε 26/04/2009 στις 06:32
πηγή χρήστη
Σε άλλες γλώσσες...                            


2 απαντήσεις

ψήφοι
0

Εντάξει, έχω χρησιμοποιήσει ποτέ Ruby στη ζωή μου, αλλά κάτι γι 'αυτή την πρόσκληση Facebooker φαίνεται λάθος για μένα. Εδώ είναι αυτό που φαίνεται fb_user_action όπως από τη σύνδεσή σας:

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

Έτσι, με βάση αυτά που έψαξα για page.call, που μοιάζει σε μένα σαν θα δημιουργήσει javascript σαν αυτό:

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

Ωστόσο, η υπογραφή της showFeedDialog είναι:

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

Η σειρά των παραμέτρων που η λειτουργία fb_user_action Facebooker δημιουργεί την Javascript φαίνεται εντελώς λάθος για μένα. Η παράμετρος επανάκλησης φαίνεται ότι θα αντ 'αυτού να αντικατασταθεί από ένα μηδενικό, έτσι τίποτα δεν θα μπορούσε ποτέ να ονομάζεται.

Τι θα συμβεί αν, αντί να καλούν fb_user_action, το μόνο που χρησιμοποιείται page.call τον εαυτό σας, αλλά με τις παραμέτρους στη σωστή σειρά;

Και πάλι, θα μπορούσα να μη γίνει κατανοητή η page.call ή / και Ruby σύνταξη εδώ. Αλλά θα ήθελα να ελέγξτε τη λειτουργία αυτή Facebooker, όπως το API FB αλλάζει όλη την ώρα.

Απαντήθηκε 26/04/2009 στις 07:24
πηγή χρήστη

ψήφοι
2

Απλά σκάψει σε αυτό περισσότερο. Πιστεύω ότι πρόκειται για ένα σφάλμα Facebooker. Έπρεπε να τυλίξετε την παράμετρο επανάκλησης σε ένα page.literal κλήση. Η τροποποιημένη μέθοδος που λειτουργεί είναι το εξής:

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

Θα δοθεί συνέχεια με τον κύριο του έργου Facebooker για να προσπαθήσει να πάρει αυτό που καθορίζεται σε μια μελλοντική έκδοση.

Απαντήθηκε 26/04/2009 στις 18:45
πηγή χρήστη

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