我正在致力於一個Facebook應用程序,我們只需要在一個textarea中提供一條消息。現在我們直接在用戶喜歡頁面後請求擴展權限(應用程序隱藏,直到用戶喜歡頁面)。我們希望它可以在提交表單時使用。Facebook Jquery ajax權限請求?
有沒有一種方法來加載彈出式樣div(不是新窗口... jquery.load?)中的權限對話框,並使用腳本頁作爲我的回調uri併發布我的數據而不重新加載選項卡?如果使用正常形式,我已經這樣做了,但是我們需要從FB中獲取名稱/圖片/電子郵件/ bday以放入數據庫。
任何幫助,即使是在正確的方向微調將非常感激!
/** ** UPDATED/
想和我想出了,它使用目前所有的軟件開發工具包更新。我試圖儘可能使其成爲template-y,以便其他人可以使用它。
$("#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;
});
這幾乎就是我所需要的,但我已經在這裏結束了。這段代碼實際上使用了REST API。當我使用JS SDK完成時,我會發布我的代碼。謝謝! – 2011-05-05 06:52:34
只需簡單的說明,不需要調用'FB.getSession()。uid'作爲會話對象中的id:'var uid = response.session.uid;' – ifaour 2011-05-05 18:07:27