Php 发布到facebook页面而不在客户端连接到facebook
我使用流动代码发布到我的Facebook页面,但正如您所见,该代码将用户重定向到Facebook以获取访问令牌Php 发布到facebook页面而不在客户端连接到facebook,php,facebook,Php,Facebook,我使用流动代码发布到我的Facebook页面,但正如您所见,该代码将用户重定向到Facebook以获取访问令牌 $facebook=newFacebook(array( 'appId'=>$app_id, 'secret'=>$app_secret, 'cookie'=>true )); $user=$facebook->getUser(); if(($facebook->getUser())==0) { header("Location:{$facebook-
$facebook=newFacebook(array(
'appId'=>$app_id,
'secret'=>$app_secret,
'cookie'=>true
));
$user=$facebook->getUser();
if(($facebook->getUser())==0)
{
header("Location:{$facebook->getLoginUrl(array('req_perms'=>'user_status,publish_stream,user_photos,offline_access,manage_pages'))}");
exit();
}
else{
$accounts_list=$facebook->api('/me/accounts');
}
foreach($accounts_list['data']as$account){
if($account['id']==123456789){
$access_token=$account['access_token'];
}
}
$attachment['link']='article-url';
$facebook->api('/160145120705699/feed','POST',$attachment);
问题是,facebook在伊朗已经被禁止。是否有其他方法可以在不连接客户端Facebook的情况下发布到Facebook页面?是的,但它需要用户的活动访问令牌,该令牌可以扩展,因为脱机访问不再工作。所以你必须在服务器端存储访问令牌,并从那里访问facebook。因此,您将不重定向用户以获取令牌,而是从数据库中获取令牌,然后将其设置为$facebook object,并像往常一样进行发布。帖子是否必须看起来来自用户的facebook?用户是否拥有Facebook?否则,您可以从服务器端(代表您、应用程序或页面本身等)获取访问令牌,并发布该令牌(也是服务器端,不要通过网络发送令牌,只发送用户的文本!)。所有帖子看起来都来自同一个页面/应用程序/用户,但至少帖子中的文本来自伊朗
我也在考虑询问用户Facebook用户名和密码以及从服务器登录,但这不仅是非常不传统和不安全的,而且可能也不起作用,因为当用户从完全不同的地理位置登录时,Facebook会产生怀疑。除非用户使用代理,否则没有办法。您可以始终使用伊朗境外的服务器。我的服务器在伊朗境外。您的意思是,如果没有Facebook的用户参与,用户就无法发布到我的页面?页面和该应用程序是我的,我们以页面管理员的身份发布。为什么用户必须拥有Facebook帐户?如何在服务器端获取访问令牌?