Опубликовать в Facebook через cron
В течение двух дней мы пытались автоматически публиковать сообщения, собранные с помощью поиска в Твиттере, на одну из моих страниц в Фейсбуке, т. е. через cronjob.
Часть твиттера прошла хорошо, но для жизни я могузаставить часть Facebook работать.
Проблема в том, что мой скрипт работает ... пока он неt, обычно access_token истекает через несколько часов.
Теперь у меня есть это сообщение:#200) Posts where the actor is a page cannot also include a target_id
Я пробовал много вещей, предложенных в различных потоках SO. Проблема в том, что API Facebook, кажется, меняется довольно часто, а то, что раньше работало, нет.
Любая идея и предложение относительно того, как заставить это работать надежно, приветствуется.
Вот код, который у меня есть. Я'Мы создали приложение Facebook и сгенерировали токен доступа, используяFB Graph Explorer и просьба к/ Меня / счет».
require('config.inc.php');
require('_classes/facebook-php-sdk/src/facebook.php');
// Connect to facebook
$facebook = new Facebook(array(
'appId' => FB_APP_ID,
'secret' => FB_APP_SECRET,
));
// get the message
$msg_body = array(
'message' => $message->message."\n".'(via http://twitter.com/'.$message->author.')',
'access_token' => FB_ACCESS_TOKEN
);
// Post to Facebook
$fb_result=0;
try {
$postResult = $facebook->api('/'.PAGEID.'/feed', 'post', $msg_body );
} catch (FacebookApiException $e) {
echo $e->getMessage();
}
if($postResult)
{
$fb_result=1;
$last_posted_tweet_id = $message->id;
file_put_contents(FOLDER.LAST_TWEET_ID_FILE, $last_posted_tweet_id);
echo 'Your message '.$message->id.' is posted on your facebook wall.';
//print_r($msg_body);
}
ОБНОВИТЬ Код виден здесьhttp://phpbin.net/ZMNt3MPt