Опубликовать в 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