2010-11-19 13 views
1

facebook connectのログイン後に呼び出されるjavascript関数を1つ使用しました。ケーキのPHPを使ってfbmlでメールアドレスとユーザーIDを取得する方法

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"; 
} 

上記の機能を呼び出すFacebook接続ボタンが追加されました。

私だけFBMLタグ経由でユーザー名とプロフィール写真を取得することができています。ユーザーのEメールとユーザーIDを取得するにはどうすればいいですか?

私をご案内ください。

答えて

0

私はFB APIを一度も使用していませんが、電子メールを送信した場合は驚いています。ああ... Facebookです。私は私の言葉を食べる。

1

fbmlで電子メールを受け取ることはできません。なぜなら、それを表示するだけで何の意味もないからです。

実際には、FB APIのPHP部分を用意して、その作業に役立てる必要があります。

これは非常に良いでしょうが、plugin for CakePHPです。それは本当に簡単に働くことができ、あなたは確実にユーザーの電子メールを取得することができます。

+0

あなたの答えをありがとう。しかし、私の問題は、ケーキのPHPバージョン2を使用していると私たちは厳密なスケジュールではありませんので、今それをアップグレードする時間がありません。 :( – Dora

関連する問題