Php 创建一个Facebook应用程序,可以发布到我是其管理员的页面
作为我工作的网站的一部分,我需要能够直接发布到我的客户Facebook页面的墙上 我已经创建了一个应用程序,并通过以下方式成功发布到我自己的虚拟个人资料中:Php 创建一个Facebook应用程序,可以发布到我是其管理员的页面,php,facebook,facebook-graph-api,Php,Facebook,Facebook Graph Api,作为我工作的网站的一部分,我需要能够直接发布到我的客户Facebook页面的墙上 我已经创建了一个应用程序,并通过以下方式成功发布到我自己的虚拟个人资料中: $request = new FacebookRequest( $session, 'POST', '/me/feed', array( 'link' => 'my_url', 'message' => 'my_message' ); 现在我需要修改这个来发布到我的客户页面,我假设我不
$request = new FacebookRequest(
$session, 'POST', '/me/feed', array(
'link' => 'my_url',
'message' => 'my_message'
);
现在我需要修改这个来发布到我的客户页面,我假设我不能通过他们的页面ID将“我”更改为,因为这将是一个巨大的安全漏洞,所以我需要以某种方式获得发布到他们页面的权限。我是一个网页管理员,我如何才能做到这一点?或者我真的需要使用创建页面的用户帐户登录吗
我已经在开发者部分查看了创建应用程序的所有内容,但是似乎没有任何方法可以为不同的帐户创建应用程序
对此,如有任何建议,将不胜感激。
非常感谢请查看“应用程序开发人员”部分。它会帮助你的。创建开发者帐户,您将能够访问该页面
要发布到Facebook页面,您需要经历两个步骤-
- 使用扩展用户令牌以用户身份登录
- 获取页面的用户令牌
- 使用页面的标记发布到页面
function extract_access_token_of_facebook_page_by_id($array_of_all_user_pages,$page_id){
$num_of_pages=count($array_of_all_user_pages['data']);
$the_page_token="";
for ($i=0; $i<$num_of_pages; $i++){
if ($array_of_all_user_pages['data'][$i]['id']==$page_id){
$the_page_token=$array_of_all_user_pages['data'][$i]['access_token'];
}
}
return $the_page_token;
}
$facebook = new Facebook(array(
'appId' => $YOUR-APP-ID,
'secret' => $YOUR-APP-SECRET,
));
try
{
$facebook->setAccessToken($THE-USER-TOKEN);
$page_id = YOUR-PAGE-ID;
$fanpage_access_token=extract_access_token_of_facebook_page_by_id($facebook->api("/me/accounts"),$page_id);
$args = array();
$args['access_token'] = $fanpage_access_token;
$args['message'] = "THE TEXT YOU WANT TO POST";
$api_url="/".$page_id."/feed";
$api_response = $facebook->api($api_url, 'post', $args);
}
catch (FacebookApiException $e)
{
echo 'Error facebookservice'.$e;
}
函数按id提取facebook页面的访问权令牌($page id){
$num_of_pages=count($array_of_all_user_pages['data');
$the_page_token=“”;
对于($i=0;$i$YOUR-APP-ID),
“secret”=>$YOUR-APP-secret,
));
尝试
{
$facebook->setAccessToken($USER-TOKEN);
$page_id=您的-page-id;
$fanpage\u access\u token=通过\u id($facebook->api(“/me/accounts”),$page\u id)提取\u facebook\u页面的\u访问\u token\u;
$args=array();
$args['access\u token']=$fanpage\u access\u token;
$args['message']=“要发布的文本”;
$api_url=“/”$page_id./feed”;
$api_response=$facebook->api($api_url,$post',$args);
}
捕获(FacebookApiException$e)
{
回显“错误facebookservice”。$e;
}
您的代码是旧sdk版本的,我想,它对我不起作用:致命错误:找不到类“Facebook”以您的身份登录,然后获得页面访问令牌,如感谢您非常感谢PalDev所述!!这就成功了!!稍微调整了一下,因为在Facebook的提取\u访问\u令牌\u中,有些元素包含了对象而不是数组_按id方法翻页,但非常精彩!!非常感谢您的帮助!!