我有一个网站,我需要它不时将状态更新发布到Facebook页面。
使用我个人的Facebook帐户,我创建了一个应用程序和一个页面。到目前为止,我已经能够以编程方式发布到我的Page's Wall,将此代码添加到我的网站:
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,以便我可以自动对页面进行这些状态更新?
很抱歉,这里的总菜刀是Facebook开发的。
答案 0 :(得分:4)
好像你需要在Facebook离线时更新状态。要做到这一点,您需要获得应用程序用户的离线访问权限,并且您需要为Facebook应用程序提供“无限”令牌才能访问API,以便您的程序可以随时更新,无需登录到Facebook。
你可能会得到你想要的东西
答案 1 :(得分:1)
我在这里参加聚会的时间有点晚了,但我想我会发布my gist example关于如何做一些非常相似的事情。我向fbconsole添加了一些功能,以便以编程方式使用fbconsole.automatically_authenticate
轻松登录,以便更容易以系统方式访问此信息。此添加内容尚未合并到master branch of fbconsole中(它刚刚在今天上午发布),但同时对于那些感兴趣的人来说,here可用。
答案 2 :(得分:0)
这就是我用来做的事情,
// = SET WALL DATA HERE ===============
$attachment = array(
'access_token' => 'My Access token here',
'message' => '',
'name' => 'My Wall Post Header/Title Here',
'caption' => 'Small caption here',
'link' => 'http://www.mywebsite.org',
'description' => 'Wall Post Details Here',
'picture' => "http://www.mywebsite.org/images/logo.gif",
);
// =POST ON FACEBOOK WALL ==========================
$this->facebook->api('/me/feed', 'POST', $attachment);
, $attachment);
请包含您的Facebook API,获取您的Facebook访问令牌,为您的墙贴设置数据,并使用我/ Feed方式调用facebook api。
这会在你的墙上张贴墙贴而不要求登录。
确保使用正确的访问令牌。