私が遭遇したちょっとした問題で私を助けてくれることを願っています.
PHP SDK を使用してゲーム スコアを更新するためにユーザー ウォールに投稿する Facebook アプリケーションを作成しています。
私がやろうとしているのは、新しい投稿を投稿する前に古い投稿を削除することですが、それは問題ありません。問題が発生するのは、ユーザーが事前に古い投稿を手動で削除した場合です。その場合、ユーザーの FB セッションはドロップされ、ユーザーが FB.login を再度実行するまで、API とのすべての対話は不可能になります。
私が使用しているコードは次のとおりです。
try {
$statusUpdate = $facebook->api('/'.$postID, 'delete');
} catch (FacebookApiException $e) {
d($e);
}
投稿が事前に存在する場合、これはうまく機能します。
私が疑問に思っているのは、削除呼び出しが失敗した場合にセッションをドロップせず、処理できるエラーを返すか、削除関数を呼び出す前に投稿が存在するかどうかを確認する可能性があるかどうかです。
回避できるのであれば、publish_stream に加えて read_stream パーミッションをユーザーに要求したくありません。