2010-09-21 6 views
5

Y at-il une balise fb que je peux utiliser pour entourer mon balise d'ancrage html de sorte que si l'utilisateur n'est pas connecté, il sera invité à se connecter avant d'avoir accès au lien? J'utilise python/django en backend.Facebook Connect nécessite une connexion pour certains liens

Merci, David

+0

Qu'est-ce que c'est, iframe fb app? Ou site autonome? – serg

+0

à ce stade, il n'a rien à voir avec FB, comme tout processus d'accès autorisé, si vous avez une session valide continuer, sinon invite – ifaour

Répondre

0

Vous devez simplement une instruction if pour vérifier si une session Facebook existe ou non. Si ce n'est pas rediriger vers la page de connexion.

-Roozbeh

0

D'abord, je pense que vous devez créer une application Facebook. Deuxièmement: si vous programmez en PHP, vous devez utiliser le SDK PHP.

Voir: https://developers.facebook.com/docs/reference/php/

Troisième: Utiliser la méthode getUser: https://developers.facebook.com/docs/reference/php/facebook-getUser/

Je suis presque sûr que getUser retournera 0 si l'utilisateur n'a pas accepté votre application, donc l'OMI, il est pas meilleure méthode pour trouver le statut de connexion de l'utilisateur sur Facebook.

En outre, getLoginStatusUrl pourrait aider, avec cette fonction, vous pouvez faire des redirections en fonction du statut de l'utilisateur sur Facebook et penser à un mécanisme pour montrer ou non le contenu en fonction des paramètres et des variables de session (il est une idée).

Voir: https://developers.facebook.com/docs/reference/php/facebook-getLoginStatusUrl/

espoir qui aide.

0

En utilisant l'API JavaScript, vous devez utiliser FB.getLoginStatus pour entourer la balise d'ancrage. Voir https://developers.facebook.com/docs/reference/javascript/FB.getLoginStatus/

Exemple de cette page:

FB.getLoginStatus(function(response) { 
    if (response.status === 'connected') { 
    // the user is logged in and connected to your 
    // app, and response.authResponse supplies 
    // the user's ID, a valid access token, a signed 
    // request, and the time the access token 
    // and signed request each expire 
    var uid = response.authResponse.userID; 
    var accessToken = response.authResponse.accessToken; 
    } else if (response.status === 'not_authorized') { 
    // the user is logged in to Facebook, 
    //but not connected to the app 
    } else { 
    // the user isn't even logged in to Facebook. 
    } 
}); 

Note: Je voudrais simplement faire cet appel à l'avant et mettre ma propre booléen variables JS sur la réponse, donc je ne devais pas utiliser l'API FB appel encore. Puis enveloppez tout code dépendant avec un simple test booléen JS.