从我的Facebook应用程序调用facebook ajax

时间:2012-12-01 11:10:25

标签: jquery ajax facebook cross-domain jsonp

我最近创建了一款Facebook应用来管理好友列表。我可以创建和删除它们,我惊讶地发现FB API没有提供任何方法来重命名朋友列表。

在Facebook中,可以重命名好友列表。使用Firebug,我看到当我通过facebook重命名列表时,这个页面被称为:

https://www.facebook.com/friends/ajax/lists.php

方法:POST

参数:

  

__ 1 1

     

__用户myUID

     

fb_dtsg AQBcx3kd

     

flid myFriendListID

     

phstamp 1658166991205110710078

     

重命名ztest456

来源: fb_dtsg = AQBcx3kd&安培; FLID = myFriendListID&安培;重命名= ztest456&安培; _ 用户= myUID&安培; _a = 1&安培; phstamp = 1658166991205110710078

所以在我的工作应用程序中,我尝试使用ajax函数构建,如下所示:

$.ajax({
    type: "POST",
    url: "https://www.facebook.com/friends/ajax/lists.php",
    data: "flid=" + myFriendListID + "&rename=" + newName + "&__user=" + uid + "&__a=1",
    success: function(msg){

    },
    error: function(msg){
        console.log("Error: " + msg);
    }
}).done(function( msg ) {
    //console.log("Feedback: " + msg);
}); 

我从facebook得到的是ERROR。我在stackoverflow中读到了可能通过使用JSONP或允许在jquery $ .support.cors = true中生成跨域ajax请求; (我启用了cors支持,但它仍无效)。

另外一个问题是phpstamp和fb_dtsg每次都会改变(fb_dtsg可能是同一个会话,对于每个请求,phpstamp似乎都会增加1)。

老实说我不知道​​该用什么,看起来很挑战(当然,没有提供facebook的支持)所以我在这里请你的支持;)

1 个答案:

答案 0 :(得分:0)

您无法访问Facebook域上的ajax文件。就那么简单。您可以使用Graph API创建和删除列表。文档here

相关问题