$ facebook-> api('/ me')返回NULL

时间:2013-03-09 12:49:41

标签: php facebook facebook-graph-api yii

我想在Yii框架中使用Facebook连接。

问题是我想访问用户的电子邮件地址和 $ facebook-> api('/ me')返回NULL。

如何解决这个问题?

这是我的代码:

<?php
 Yii::import("ext.fconnect.*");
        $app_id = "xxx";
        $app_secret = "xxxx";
        Facebook::$CURL_OPTS[CURLOPT_SSL_VERIFYPEER] = false;

        $facebook = new Facebook(array(
            'appId' => $app_id,
            'secret' => $app_secret,
        ));



        $user = $facebook->getUser();
        if ($user) {

            try {                 
                $user_profile = $facebook->api('/me');
            } catch (FacebookApiException $e) {
                $user_profile = $e;
                $user = NULL;
            }

        }

        if ($user) {

            $d["logoutUrl"] = $facebook->getLogoutUrl(array(
                'fblogout' => 'true',           
                'next' => $this->createAbsoluteUrl("main/signout")
            ));



            $d["user_info"] = $facebook->api('/' . $user);

        } else {

            $d["loginUrl"] = $facebook->getLoginUrl(array(
                'scope' => 'email, read_stream, publish_stream, user_birthday, user_location, user_work_history, user_hometown, user_photos',
                'redirect_uri' => $this->request->hostInfo . $this->request->url,
            ));
        }
        $d["user"] = $user;
        $d["userprofile"] = $user_profile; 

1 个答案:

答案 0 :(得分:2)

该行:

$d["user_info"] = $facebook->api('/' . $user);

对我来说错了。我不知道$user会是什么数据类型;我只使用$facebook->api('/me');,这将为您提供当前登录和验证用户的个人资料。