Опубликовать в Facebook через cron

В течение двух дней я пытался автоматически публиковать сообщения, собранные с помощью поиска в Твиттере, на одну из моих страниц в Facebook, т. Е. С помощью cronjob.

Часть твиттера прошла нормально, но я не могу заставить работать часть Facebook.

Проблема в том, что мой скрипт работает ... пока он не работает, обычно access_token истекает через несколько часов.

Теперь у меня есть это сообщение:#200) Posts where the actor is a page cannot also include a target_id.

Я перепробовал много вещей, предложенных в различных потоках SO. Проблема в том, что API Facebook, похоже, меняется довольно часто, а то, что раньше работало, не меняется.

Любая идея и предложение относительно того, как заставить это работать надежно, приветствуется.

Вот код, который у меня есть. Я создал приложение для Facebook и сгенерировал токен доступа, используяFB Graph Explorer и запрос к / me / account.

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.'/fe,ed', '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

Ответы на вопрос(2)

Ваш ответ на вопрос