脸书用户身份验证PHP


facebook user authentication php

>我正在使用Codeignitor .

我想通过我的应用程序发布到脸书。

问题是它总是返回您未登录。

在这里我尝试了.

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 调用该函数...但它总是以错误响应...我的意思是其他部分。

在这里我得到了什么

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

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

谢谢。

Facebook不再支持离线访问,您唯一能做的就是生成最多60天的令牌。

该问题与 LoginUrl 有关

我删除了一些权限参数,它起作用了。

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

谢谢。