0

最後の投稿から 3 時間後にスケジュールされた投稿をページに投稿するアプリがあります。

問題は、スケジュールされたすべての投稿を降順で取得できる簡単な方法 (私が見つけた) がないように思われるため、最新の日付の投稿がリストの最初になることです。

スケジュールされたすべての投稿を逆順に戻すことができる fql クエリまたは別の方法があるので、最初の配列キーからscheduled_publish_timeを簡単に取得できますか

私が使用しているコードは

$posts = $facebook->api($fanpage.'/promotable_posts?limit=500');
$scheduledposts = array();
if($posts){
// find last published post
$time = time();
foreach($posts['data'] as $post){
    if($post['is_published'] == false){
        $scheduledposts[] = $post;
        if($time < $post['scheduled_publish_time']){
            $time = $post['scheduled_publish_time'];  
        }
    }
}
$timetopost = $time + 10800;                                        
}
// sort scheduled posts by order of scheduled_publish_time in reverse
usort($scheduledposts, function($a, $b) {
 return $b['scheduled_publish_time'] - $a['scheduled_publish_time'];
});

$posts 配列の順序は必ずしも時系列ではなく、スケジュールに 500 件を超える投稿がある場合はどうなるでしょうか? schedule_publish_date が最も遠い過去 5 件のスケジュールされた投稿だけを取得できるようにしたい

4

0 に答える 0