Я использую FB.ui({method: 'apprequests', ... })
, чтобы пользователи могли приглашать своих друзей в мое веб-приложение на Java.
В документации диалога Facebook Requests говорится, что мне нужно удалить запрос, когда пользователь принял запрос:
Когда пользователь перенаправляется на ваше приложение, нажав на Запрос
из приложения, панели инструментов игры или из запроса
уведомление, вы должны удалить запрос после того, как он был принят.
Запросы не удаляются автоматически после щелчка,
таким образом, разработчик обязан очистить их, как только они
был потреблен.
http://developers.facebook.com/docs/reference/dialogs/requests/#deleting
Когда я пытаюсь сделать это с помощью Java-клиента RestFB Graph API Я получаю ошибку разрешения от facebook.
код:
FacebookClient client = новый DefaultFacebookClient (appAccessToken, новый DefaultWebRequestor (), новый DefaultJsonMapper ());
client.deleteObject (String.format ("% d_% d", requestId, facebookUserId));
В журнале написано:
(com.restfb.DefaultWebRequestor) ИНФОРМАЦИЯ: Выполнение POST для
graph.facebook.com/XXX_XXX с параметрами (отправляется в теле запроса):
Метод = удаление & access_token = XXX & Формат = & JSON локаль = ru
Ошибка:
Facebook ответил с кодом состояния HTTP 403 и телом ответа:
{"error": {"message": "(# 200) Разрешения
ошибка», "тип": "OAuthException"}}
Я пробовал и токен доступа к приложению, и получение токена доступа пользователя, и у меня есть области видимости электронной почты и publish_actions. Я где-то читал, что мне может понадобиться область publish_stream. Я бы предпочел не просить моих пользователей об этом, просто чтобы иметь возможность удалять запросы? Или я что-то не так делаю?