>我正在使用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");
谢谢。