错误100在Facebook页面上安排帖子

时间:2013-06-24 20:58:12

标签: facebook api post schedule

我使用了以下代码。没有'scheduled_publish_time'它工作正常,否则我收到此错误“(#100)您无法在已发布的帖子上指定预定的发布时间”。 我以前用另一段代码注册了我的应用程序。这太奇怪了。

include_once("inc/facebook.php"); //include facebook SDK

$appId = '21xxxxxxxxxxx'; //Facebook App ID
$appSecret = '6b8f4bxxxxxxxxxxxxxd56'; // Facebook App Secret
$return_url = 'http://localhost:8888/...';  //return url (url to script)
$homeurl = 'http://localhost:8888/...'; //return to home
$fbPermissions = 'publish_stream,manage_pages';  //Required facebook permissions

//Call Facebook API
$facebook = new Facebook(array(
  'appId'  => $appId,
  'secret' => $appSecret,
  'cookie' => true,
  'fileUpload' => true
));

    $accounts = $facebook->api('/me/accounts');
$PAGE_ID = get_option('fb_post_cron_page'); // it is an option saved in WordPress

foreach($accounts['data'] as $account){
  if($account['id'] == $PAGE_ID){
    $ACCESS_TOKEN = $account['access_token'];
    }
}

$post_url = '/'.$PAGE_ID.'/photos';
$upload_dir = wp_upload_dir(); 
$upload_dir= $upload_dir['path'];


$timezone= 'Europe/Rome';
$date = new DateTime($dateStr, new DateTimeZone($timezone));

//posts message on page statues 
$args = array(
    'access_token' => $ACCESS_TOKEN,
    'source' => '@' . $image_abs_path,
    'message' => $post_message,
    'published' => true,
    'scheduled_publish_time' => $date->getTimestamp()
);

try {
    $postResult = $facebook->api($post_url, 'post', $args );
} catch (FacebookApiException $e) {
    echo $e->getMessage();
}

1 个答案:

答案 0 :(得分:8)

你必须将'published'设置为false

$args = array(
    'access_token' => $ACCESS_TOKEN,
    'source' => '@' . $image_abs_path,
    'message' => $post_message,
    'published' => false,
    'scheduled_publish_time' => $date->getTimestamp()
);