Я пытаюсь получить разрешение пользователя на «offline_access» в приложении iFrame Facebook, закодированном с помощью API Java Facebook. Я понимаю, что мне нужно получить «неопределенный сеансовый ключ» после того, как пользователи одобрят мою заявку. В настоящее время я могу выполнить то, что хочу, но очень неловко, что, вероятно, неправильно. Должен быть лучший способ сделать это. Любые мысли / идеи будут оценены !!
Что я сделал
В сервлете моего приложения я проверяю, есть ли у пользователя разрешение «offline_access». Если они это сделают, я получу URL на Permission.authorizeUrl(Permission.OFFLINE_ACCESS)
. Затем я звоню response.redirect
, чтобы перейти на страницу разрешений. У меня две проблемы:
- Страница перенаправленных разрешений отображается в iFrame. Следовательно, строка главного меню книги Facebook и т. Д. Отображаются дважды. то есть выглядит как приложение, встроенное в другое приложение.
- Пользователь будет «застрял» на странице разрешений, после перенаправления туда. Я не смогу получить «неопределенный сеансовый ключ» (позвонив по номеру
client.getCacheSessionKey
), если пользователь не вернется на страницу моего приложения вручную.
Возможные обходные пути ??
- Есть ли способ открыть / перенаправить на страницу разрешений в новом окне? Таким образом, возможно, у меня может быть поток в моем сервлете, чтобы продолжать проверять, установлено ли разрешение после перенаправления. И тогда я могу получить «неопределенный сеансовый ключ», как только он у меня будет, и сохранить его где-нибудь?
- Есть ли способ задать URL-адрес для перехода на Facebook после того, как будет установлено разрешение? (так же, как настройки URL до и после авторизации?) Или каким-то образом взять управление на себя после попадания на страницу разрешения?
- Возможно, есть другие способы настройки моего приложения? Будучи новичком, я, возможно, совершенно неправильно понял идею ...