facebook用户身份验证php

时间:2012-04-23 16:29:49

标签: php jquery facebook facebook-graph-api

我正在使用Codeignitor。

我想通过我的申请发布到Facebook。

问题是它总是返回你没有登录。

这是我试过的..

function postTofb()
{


require_once("pocket/fb/facebook.php");
        $fbconfig = array();
        $fbconfig['appId'] = 'app_id';
        $fbconfig['secret'] = 'app_secret';
        $fbconfig['baseurl']    = "site_name";

                $facebook = new Facebook($fbconfig);
        $user = $facebook->getUser();


               if($user)
           {
            try {

                $user_profile = $facebook->api('/me');
            $ID = $user_profile['id'];
            echo $ID;

                 } 
        catch (FacebookApiException $e) 
        {

        echo $e;

             }


        }
        else
        {

        //else starts

            $loginUrl   = $facebook->getLoginUrl(
            array(
                'scope'=> 'email,offline_access,publish_stream,user_birthday,user_location,user_work_history,user_about_me,user_hometown',
                'redirect_uri'=>$fbconfig['baseurl']
            )
        );
    $data["status"] = FALSE;
    $data["url"] = $loginUrl;
    echo json_encode($data);
    //else ends
        }
    }

现在我通过ajax调用函数...但它始终以FALSE响应...我的意思是其他部分。

这里我得到了什么

{"status":false,"url":"https:\/\/www.facebook.com\/dialog\/oauth?client_id=281255791959236&redirect_uri=http%3A%2F%2Fwww.MY_SITE_NAME.com%2F&state=3d19a96f48022344222f518609f30537&scope=email%2Coffline_access%2Cpublish_stream%2Cuser_birthday%2Cuser_location%2Cuser_work_history%2Cuser_about_me%2Cuser_hometown"}

看起来我错过了一些点...请帮助我..

谢谢。

2 个答案:

答案 0 :(得分:0)

Facebook不再支持离线访问,您只能生成最多60天的令牌。

答案 1 :(得分:0)

问题与LoginUrl

有关

我删除了一些权限参数,但它确实有效。

loginUrl = $facebook->getLoginUrl(array("scope")=>"publish_stream");

谢谢。