2013-06-24 29 views
5

我已經使用了下面的代碼。它工作正常,沒有'scheduled_publish_time',否則我得到這個錯誤「(#100)你不能在已發佈的帖子上指定一個計劃發佈時間」。 我以前用另一段代碼註冊了我的應用程序。這太奇怪了。錯誤100安排Facebook上的一個帖子頁面

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(); 
} 

回答

8

你必須設置 '發表了' 假

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