2010-11-19 2 views
1

Ich habe eine Javascript-Funktion verwendet, die nach dem Login auf Facebook Connect aufgerufen wird.wie bekomme ich die E-Mail-Adresse und die Benutzer-ID in fbml mit Kuchen 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"; 
} 

Ich habe eine facebook connect-Taste hinzugefügt, die die obige Funktion aufruft.

Ich bin nur in der Lage die Benutzername und Profilbild in durch Fbml-Tags zu erhalten. Wie erhalte ich die Benutzer-E-Mail und die Benutzer-ID?

Bitte führen Sie mich.

Antwort

0

Ich habe die FB API nie benutzt, aber ich wäre überrascht, wenn sie E-Mails ausgaben. Oh ... es ist Facebook. Ich esse meine Worte.

1

Ich glaube nicht, dass Sie E-Mails über fbml bekommen können, weil Sie damit einfach zeigen können und es keinen Sinn macht.

Eigentlich brauchen Sie einen PHP-Teil der FB API, mit dem Sie bei dieser Aufgabe helfen können.

Obwohl Sie diese sehr gute plugin for CakePHP verwenden können. Es ist wirklich einfach, es zum Laufen zu bringen und Sie können die eMail des Benutzers sicher erhalten.

+0

Danke für Ihre Antwort. Aber mein Problem ist, dass wir die Version 2 von cake php verwenden und wir haben einen engen Zeitplan, also haben Sie keine Zeit, um es jetzt zu aktualisieren. :( – Dora

Verwandte Themen