πρόβλημα άδεια Facebook

ψήφοι
3

Δουλεύω σε εφαρμογή facebook και υπάρχει κάτι που είμαι απλά δεν καταλαβαίνουν πώς λειτουργεί το σύστημα αδειοδότησης τους.

βασική ρύθμιση μας είναι αυτή η

URL καμβά = domain.com/facebook

Αυτή είναι μια απλή σελίδα με ένα στοιχείο FBML Iframe που οδηγεί σε domain.com/facebook/app η οποία είναι μια σελίδα HTML που σερβίρει μια εφαρμογή flash.

Το Flash Application ζητά πρόσθετα δεδομένα από τον server της εφαρμογής μας - μερικά από αυτά τα αιτήματα ζητούν δεδομένων facebook (όπως μια λίστα των φίλου IDs).

Έτσι, Flash, στη συνέχεια, υποβάλλει αίτηση για να domain.com/resources/facebook/friends - αυτό είναι μια σελίδα PHP που δημιουργεί ένα παράδειγμα του Facebook (βιβλιοθήκη της PHP τους) και εκτελεί την απαραίτητη κλήση στο API του και επιστρέφει τα δεδομένα.

Ωστόσο, το αίτημα για αυτή τη διεύθυνση URL (με φλας) δεν επικυρώνει, γι 'αυτό στη συνέχεια κατευθυνθούν προς την είσοδο τους, όταν το ίδιο να ανακατευθύνει πίσω URL καμβά μου με δύο παραμέτρους - auth_token και το επόμενο . Έτσι, η αίτηση είναι έγκυρη, αλλά η ανακατεύθυνση σπάει την κλήση φλας.

Έτσι, προσπαθώ να καταλάβω πώς να κάνει αυτές τις άλλες κλήσεις API (όταν οι ίδιοι ρόπαλο facebook API κλήσεις) να facebook-vaildated από το get-go.

Δημοσιεύθηκε 27/01/2009 στις 19:14
πηγή χρήστη
Σε άλλες γλώσσες...                            


2 απαντήσεις

ψήφοι
1

Εντάξει, εγώ το κατάλαβα.

Όπως αποδεικνύεται, Flash ακολουθεί ήδη τις ανακατευθύνσεις - το μόνο που έπρεπε να κάνω ήταν να ανιχνεύσει (στη διεύθυνση URL καμβά), όταν υπήρχε μια αίτηση αδειοδότησης (σημειώνεται από την παρουσία των auth_token και την επόμενη ) και περιλαμβάνουν την auth_token ως παράμετρο GET όταν μεταφερθείτε στην επόμενη URL (βασικά, διαβιβάζει την auth_token για την αρχική αίτηση).

Έτσι, σε αντίθεση με αυτό που είπα πιο πάνω, η ανακατεύθυνση δεν σπάσει την κλήση φλας - απλά δεν έχουν αρκετά στοιχεία για να είναι έγκυρη αίτηση.

Απαντήθηκε 27/01/2009 στις 21:55
πηγή χρήστη

ψήφοι
1

Λύστε τοποθετώντας τον παρακάτω κώδικα αντί του «require_login ()» γραμμή

if (isset($_GET['auth_token'])) {
 $sess_data=$facebook->api_client->call_method('auth.getSession',array('auth_token'=>$_GET['auth_token']));
 $facebook->set_user($sess_data['uid'],$sess_data['session_key'],$sess_data['expires']);
 $user=$sess_data['uid'];
}
if (!$sess_data) {
 $user=$facebook->require_login();
}
Απαντήθηκε 24/01/2010 στις 21:01
πηγή χρήστη

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