我有一个网站,我需要它不时发布状态更新到Facebook页面。以编程方式登录Facebook并张贴到页面(墙)
使用我的个人Facebook帐户,我创建了一个应用程序和一个页面。到目前为止,我已经能够以编程方式张贴到我的网页长城,通过将此代码添加到我的网站:
include_once "lib/facebook/src/facebook.php";
$facebook = new Facebook(array('appId' => 'APP_ID_HERE', 'secret' => 'APP_SECRET_HERE'));
if($facebook->getUser()) {
try {
$ret_obj = $facebook->api('/FACEBOOK_PAGE_ID_HERE/feed', 'POST', array(
'link' => 'www.example.com',
'message' => 'Posting with the PHP SDK!',
'access_token' => 'FACEBOOK_PAGE_ACCESS_TOKEN_HERE'
));
echo '<pre>Post ID: ' . $ret_obj['id'] . '</pre>';
} catch(FacebookApiException $e) {
// user logged out (has user_id, but invalid access token)
$login_url = $facebook->getLoginUrl(array('scope' => 'publish_stream'));
echo 'Please <a href="' . $login_url . '">login.</a>';
}
echo '<br /><a href="' . $facebook->getLogoutUrl() . '">logout</a>';
} else {
$login_url = $facebook->getLoginUrl(array('scope' => 'publish_stream'));
echo 'Please <a href="' . $login_url . '">login.</a>';
}
所以,我刚打开我的网站,点击“请登录”,登录我自己。一旦我登录后,它现在可以将状态更新发布到Facebook页面。
显然,这里的问题是我需要登录才能发布。如果其他用户将尝试使用其用户帐户登录,我的网站无法将状态更新发布到Facebook页面,因为我是该应用/页面的唯一管理员。
我的问题是,有没有办法让我以编程方式登录到Facebook,这样我可以自动执行这些状态更新到我的页面?
对不起,这里总共noob到Facebook的发展。
但不会将此状态发布到我的墙上,而不是我的Page的墙上? – Obay
是的。要在粉丝页上发布,请确保您可以使用$ facebook-> getSession()进行基于会话的API调用。并发布在fane页面上,您可以将“me/feed”替换为“fanpageid/feed”。尝试一下。 – pinaldesai
是的,这就是我所做的,检查我的代码 – Obay