Привет, я использую facebook php sdk, чтобы делать сообщения на моем фан-сайте. Я пытаюсь планировать эти должности в будущем. Однако я сталкиваюсь с некоторыми проблемами. Вот мой код
<?php // This code is just a snippet of the example.php script // from the PHP-SDK <https://github.com/facebook/facebook-php-sdk/blob/master/examples/example.php> require_once('facebookphp/src/facebook.php'); $app_id = "xxxxx"; $app_secret = "xxxxxx"; // Create our Application instance (replace this with your appId and secret). $facebook = new Facebook(array( 'appId' => $app_id, 'secret' => $app_secret, 'fileUpload' => true, )); // Get User ID $user = $facebook->getUser(); var_dump($user); if ($user) { try { $page_id = 'xxxx'; $album_id = 'xxxxx'; $page_info = $facebook->api("/$page_id?fields=access_token"); if( !empty($page_info['access_token']) ) { $args = array( 'access_token' => $page_info['access_token'], 'scheduled_publish_time' => "1361642425", #an example timestamp 'message' => "test post", 'source' => "@" . "/path/to/photo.jpg", 'published' => "0", ); $post_id = $facebook->api("/$album_id/photos","post",$args); #echo $post_id; } else { $permissions = $facebook->api("/me/permissions"); if( !array_key_exists('publish_stream', $permissions['data'][0]) || !array_key_exists('manage_pages', $permissions['data'][0])) { // We don't have one of the permissions // Alert the admin or ask for the permission! header( "Location: " . $facebook->getLoginUrl(array("scope" => "publish_stream, manage_pages")) ); } } } catch (FacebookApiException $e) { var_dump($e); $user = null; } } // Login or logout url will be needed depending on current user state. if ($user) { $logoutUrl = $facebook->getLogoutUrl(); echo '<a href="'.$logoutUrl.'">logout</a>'; } else { $loginUrl = $facebook->getLoginUrl(array('scope'=>'manage_pages,publish_stream')); echo '<a href="'.$loginUrl.'">login</a>'; } // ... rest of your code ?>
Этот код отправляет фотографию на мою страницу в facebook, запланированную в будущее, прекрасно, за исключением случаев, когда время выполнения программы заканчивается, фотография не публикуется. В журнале активности фото остается в разделе «запланированных сообщений» с ошибкой «Извините, что-то пошло не так, публикуя это запланированное сообщение»,
Я подозревал, что это произошло из-за параметра: «опубликовано» => «0»,
Если я удалю этот параметр или установлю его в 1, сообщение не будет создано вообще, и я получу ошибку «Вы не можете указать запланированное время публикации опубликованной публикации»,
Планируя сообщение с приведенным выше кодом, отлично работает. Я только что пробовал и назначил пост через 11 минут, и я получил уведомление через 11 минут, и на этом альбоме была опубликована фотография.
На самом деле это своего рода ошибка facebook.
Просто перейдите к каждому сообщению, нажмите « Перепланировать » и отрегулируйте время на 15 минут (или сколько хотите). По какой-то причине это сбрасывает их индивидуально, и все возвращается к норме, должности снова будут размещаться в соответствии с графиком.
Я знаю, что это утомительный способ исправить то, что Facebook должен исправить самостоятельно, но он работает.