Я работаю над приложением facebook, где мы просто просим сообщение в одной текстовой области. Прямо сейчас мы запрашиваем расширенные разрешения сразу после того, как пользователю понравилась страница (приложение скрыто, пока пользователю не понравилась страница). Мы хотим, чтобы это было при отправке формы.
Есть ли способ загрузить диалоговое окно с разрешениями в стиле всплывающего окна (не в новом окне ... jquery.load?) И использовать страницу сценария в качестве моего URI обратного вызова и опубликовать мои данные без перезагрузки вкладки? Я сделал это, если с обычными формами, но нам нужно взять имя / pic / email / bday из FB, чтобы попасть в базу данных.
Любая помощь, даже толчок в правильном направлении, была бы очень признательна!
/ ** ОБНОВЛЕНО ** /
Хотел обновить с тем, что я придумал, который использует все текущие SDK. Я пытался сделать его как можно более удобным, чтобы другие могли его использовать.
$("#submit").live('click',function() {
if (someErrors === true) {
// handle errors
} else {
FB.login(function(response) {
if (response.session) {
if (response.perms) {
FB.api('/me', function(response) {
// vars: response.session.uid, response.name, response.email, response.birthday, etc
// serialize data here for post
$.post("process.php",formData,function(data) {
if (data.error) {
// send json encoded error messages back to retrieve here like below:
// PHP: echo json_encode(array("error"=>"fail"));
} else {
/**
send data back json encoded:
PHP: echo json_encode(array("yourData"=>"{$yourData}","fb_id"=>"{$fb_id}","name"=>"{$name}"));
Now we have data like:
var profile = 'http://www.facebook.com/profile.php?id='+data.fb_id;
var image = '<img src="http://graph.facebook.com/'+data.fb_id+'/picture" />';
var yourData = data.yourData;
**/
}
}, "json");
});
} else {
// more errors
}
} else {
// and more errors
}
}, {perms:'email,user_birthday'}); // request your specific permissions here
}
return false;
});