Opublikuj na facebooku przez cron

Od dwóch dni próbuję automatycznie wysyłać wiadomości zebrane z wyszukiwania na Twitterze do jednej z moich stron na Facebooku - np. Za pomocą cronjob.

Część Twittera poszła dobrze, ale przez całe życie nie mogę uruchomić części na Facebooku.

Problem polega na tym, że mój skrypt działa ... dopóki się nie sprawdzi, zazwyczaj access_token wygasa po kilku godzinach.

Teraz mam tę wiadomość:#200) Posts where the actor is a page cannot also include a target_id.

Próbowałem wielu rzeczy sugerowanych w różnych wątkach SO. Problem polega na tym, że API Facebooka wydaje się zmieniać dość często, a to, co kiedyś działało, nie.

Wszelkie pomysły i sugestie, jak sprawić, by działały niezawodnie, są mile widziane.

Oto kod, który mam do tej pory. Stworzyłem aplikację na Facebooku i wygenerowałem token dostępu za pomocąFB Graph Explorer oraz prośbę do „/ 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.'/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);
}

AKTUALIZACJA Kod jest widoczny tutajhttp://phpbin.net/ZMNt3MPt

questionAnswers(2)

yourAnswerToTheQuestion