Ответ 1
Это так же просто, как добавление нового разрешения на новый fb:login-button
:
<fb:login-button scope="publish_stream">
Let me write on your wall!
</fb:login-button>
Итак, например, у вас есть скрытое в DIV, и если пользователь установил флажок, вы показываете DIV и запрашиваете новое разрешение!
Хороший живой пример этого можно найти на тестовой консоли Facebook:
- Нажмите "Войти", чтобы "добавить" приложение
- Затем нажмите
examples
- В
fb.api
выберитеdoes-like
Теперь вы можете видеть, что даже после подключения к приложению (тестовое консольное приложение) вы можете иметь другую кнопку входа, чтобы вызвать пользователя!
EDIT:
Чтобы проверить, предоставил ли пользователь вашему приложению разрешение, просто используйте этот FQL:
SELECT read_stream,offline_access FROM permissions WHERE uid=me()
Это вернет что-то вроде:
[
{
"read_stream": 1,
"offline_access": 0
}
]
Чтобы проверить это, просто используйте тестовую консоль, опубликованную на ранней стадии.
РЕДАКТИРОВАТЬ 2:
Чтобы построить связь самостоятельно без XFBML или Javascript, вам просто нужно добавить параметр scope
с дополнительными perms (ссылка):
https://www.facebook.com/dialog/oauth?
client_id=YOUR_APP_ID&redirect_uri=YOUR_URL&scope=publish_stream
Или, если вы используете PHP-SDK:
$loginUrl = $facebook->getLoginUrl(array(
"scope" => "publish_stream"
));