2010-11-19 4 views
1

J'ai utilisé une fonction javascript qui est appelée après la connexion sur facebook connect.Comment obtenir l'adresse e-mail et l'ID de l'utilisateur en fbml en utilisant le gâteau php

var FB_API_KEY = "api key"; 
var FB_CHANNEL_PATH = "xd_receiver.htm"; 

FB.init(FB_API_KEY, FB_CHANNEL_PATH, {permsToRequestOnConnect : "email"}); 
FB.Connect.ifUserConnected(FB_ConnectPostAuthorization); 

function FB_ConnectPostAuthorization() { 

    var user_box = document.getElementById("user_id"); 
    user_box.innerHTML = 
    "<span>" 
    +"<fb:profile-pic uid='loggedinuser' facebook-logo='true'></fb:profile-pic>"   
    +"Welcome , <fb:name uid ='loggedinuser' useyou='false'></fb:name>" 
    +"You are signed in with your facebook account" 
    +"</span>"; 

    FB.XFBML.Host.parseDomTree(); 


    FB_RequireFeatures(["Api"], function(){ 
     var api = FB.Facebook.apiClient; 
     var fb_uid = api.get_session().uid; 

     $.post('/users/fb_login/', {'fb_uid': fb_uid}, function(response) { 
      if (response != "yes") { 
       api.users_hasAppPermission("email", function(result) { 
        if (!result) { 
         FB.Connect.showPermissionDialog("email", redirect_to_done_page); 
        } else { 
         redirect_to_done_page() 
        } 
       }) 
      } else { 
       redirect_to_done_page() 
      } 
     }); 
    });  
} 

function redirect_to_done_page() { 
    window.location = "xyz"; 
} 

J'ai ajouté un bouton facebook connect qui appelle la fonction ci-dessus.

Je ne suis en mesure d'obtenir le nom d'utilisateur et photo de profil dans par les balises FBML. Comment obtenir l'adresse e-mail et l'identifiant de l'utilisateur

Veuillez me guider.

Répondre

0

Je n'ai jamais utilisé l'API FB, mais je serais surpris s'ils donnaient des emails. Oh ... c'est Facebook. Je mange mes mots.

1

Je ne pense pas que vous pouvez obtenir des emails via fbml, car avec cela, vous pouvez simplement l'afficher et il n'y a aucun intérêt.

En fait, vous devez avoir une partie PHP de l'API FB pour pouvoir vous aider dans cette tâche.

Bien que vous pouvez utiliser ce très bon plugin for CakePHP. Il est vraiment facile de le faire fonctionner et vous pouvez obtenir l'email de l'utilisateur à coup sûr.

+0

Merci pour votre réponse. Mais mon problème est que nous utilisons la version 2 de gateau php et nous sommes sur un horaire serré, donc ne pas avoir le temps de mettre à jour maintenant. :( – Dora