如何从我的应用程序获取Facebook用户ID?

我创建了一个Facebook应用程序,并通过下面的代码向用户发送请求。现在,当用户允许我的应用程序时,我需要他的ID和电子邮件地址到我的画布url.But在下面的代码用户不要去我的画布URL。所以,请帮助我解决,当用户允许我的应用程序时,用户如何访问我的画布网址,并获取该用户的用户ID?我的代码如下:

require_once'facebook.php';
$ facebook = new Facebook(array(
'appId'=>'#######',
'secret'=>'###################',
'cookie'=> true,));
$ req_perms =“publish_stream,offline_access,user_status,email,read_stream”;

$ session = $ facebook-> getSession();

$ loginUrl = $ facebook-> getLoginUrl(array('canvas'=> 1,'fbconnect'=> 0,'req_perms'=> $ req_perms));
$ me = null;

if(!$ session){echo“top.location.href ='$ loginUrl';”; exit;}

其他{

 try {
        $uid    =   $facebook->getUser();
        $me     =   $facebook->api('/me');
     } 
 catch (FacebookApiException $e) 
   { echo "<script type='text/javascript'>top.location.href= '$loginUrl';</script>"; exit;}
}

所以,请帮助我获取用户ID。

提前致谢

里亚德


可以通过以下方式访问当前用户的Facebook ID和电子邮件:

$me['id'];
$me['email'];

那是你的追求?


首先,你的代码“写得不好”。 你的代码中的catch块“执行时” 并不意味着用户没有登录。这意味着你的try块(又名Facebook的不好调用)出了问题。

现在对于你的问题,你只需要把它放在你的try块中:

$data     =   $facebook->api('/me?fields=id,email');

重要的提示:
您可能无法获得用户的真实电子邮件,用户可能选择不与您分享,这样Facebook将创建一个“镜像”电子邮件与您的应用程序共享。


我不熟悉php来评论上面的代码。 但是一般情况下,单独使用javascript sdk会更好(在asp.net中面临同样的问题)。 通过这种方式发布用户登录信息,控制权返回到启动它的相同页面。 例如:

    <div id="fb-root"></div>
    <script type="text/javascript" src="http://connect.facebook.net/en_US/all.js"></script>
    <script type="text/javascript">
        FB.init({
            appId: <app_id>, cookie: true, status: true, xfbml: true
        });

        function fblogin() {
            FB.login(function (response) {
                //Control comes back here
                if (response.session) {
                    alert(response.session.access_token);
                    var url = '/me?fields=name,email';
                    FB.api(url, function (response) {
                        //You are now in the same page with the data you wanted. If necessary redirect.
                        alert(response.name);
                        alert(response.email);
                    });
                }
                else {
                    alert("User did not login successfully");
                }
            }, { perms: 'email' });
        }
    </script>
    <a href="#" onclick="fblogin(); return false;"><img src="../Images/social_facebook.png" /></a>
链接地址: http://www.djcxy.com/p/75429.html

上一篇: How get facebook user ID from my application?

下一篇: How many friends on Facebook