Facebook APIを使ってFacebookを操作するアプリケーションを作る時、予約投稿の取り扱いで苦労したので、その時の注意点を挙げます。
既に投稿されている内容を取得したいとき
ページID/feed
でフィードの内容を取得します。
まだ投稿されていない予約投稿のIDを取得したいとき
ページID/promotable_posts?is_published=false
でアクティビティログに保持されている投稿の内容を取得します。
上記のように取得した投稿をデータベースで管理したい場合、「id」属性で投稿IDを取得して利用するのが一般的です。
投稿後には別のIDに変わってしまう
ここで注意する点として、「画像を付与した」予約投稿を行った場合、アクティビティログに保存される投稿IDと、投稿後にフィードに保存される投稿IDは別のIDになります。
よって、予約中の時点の投稿IDを保存していた場合、投稿後には別のIDに変わってしまうため、投稿前のIDで投稿内容を取得できなくなります。
この現象の対策としては、投稿後に投稿予定時間と、投稿の本文の2つでフィードの投稿を検索し、再度IDを取得するのがよいと思われます。(Facebookの制限で短時間に同内容の投稿はできなくなっているため。)