Как проверить, существует ли запись, прежде чем пытаться удалить из Facebook - PullRequest
0 голосов
/ 21 марта 2011

надеюсь, вы поможете мне с небольшой проблемой, с которой я столкнулся.

Я пишу приложение для Facebook, где я публикую сообщения на стенах пользователей, чтобы обновить счет игры с помощью PHP SDK.

То, что я пытаюсь сделать, это удалить старую запись перед публикацией новой, и это не проблема. Проблема начинается с того, что пользователь вручную удалил старый пост. В этом случае сеанс FB пользователя сбрасывается, и все взаимодействие с API становится невозможным до тех пор, пока пользователь снова не пройдет через FB.login.

Код, который я использую:

try {
    $statusUpdate = $facebook->api('/'.$postID, 'delete');
} catch (FacebookApiException $e) {
    d($e);
}

Что отлично работает, если пост существует заранее.

Мне интересно, есть ли возможность сделать это так, чтобы в случае сбоя вызова удаления он не сбрасывал сеанс и просто возвращал ошибку, которую я могу обработать, или проверял, существует ли сообщение перед вызовом удалить функцию?

Я бы предпочел не запрашивать у пользователей разрешения на чтение для потока publish_stream, если я смогу этого избежать.

1 Ответ

0 голосов
/ 22 марта 2011

Как насчет чего-то вроде:

SELECT post_id FROM stream WHERE post_id='USERID_POSTID'

Если сообщение не существует, оно вернет пустой результат.

Обратите внимание, что USERID_POSTID это ваш $postID.

...