Php 创建一个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' ); 现在我需要修改这个来发布到我的客户页面,我假设我不

作为我工作的网站的一部分,我需要能够直接发布到我的客户Facebook页面的墙上

我已经创建了一个应用程序,并通过以下方式成功发布到我自己的虚拟个人资料中:

$request = new FacebookRequest(
    $session, 'POST', '/me/feed', array(
    'link' => 'my_url',
        'message' => 'my_message'
     );
现在我需要修改这个来发布到我的客户页面,我假设我不能通过他们的页面ID将“我”更改为,因为这将是一个巨大的安全漏洞,所以我需要以某种方式获得发布到他们页面的权限。我是一个网页管理员,我如何才能做到这一点?或者我真的需要使用创建页面的用户帐户登录吗

我已经在开发者部分查看了创建应用程序的所有内容,但是似乎没有任何方法可以为不同的帐户创建应用程序

对此,如有任何建议,将不胜感激。
非常感谢

请查看“应用程序开发人员”部分。它会帮助你的。创建开发者帐户,您将能够访问该页面


要发布到Facebook页面,您需要经历两个步骤-

  • 使用扩展用户令牌以用户身份登录
  • 获取页面的用户令牌
  • 使用页面的标记发布到页面
下面的代码应该能够将消息发布到您的页面我没有调试它,因为它是从我自己的网站上简化的:-)别忘了包括Facebook SDK文件:

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方法翻页,但非常精彩!!非常感谢您的帮助!!