Facebook粉丝页面标签和用户ID

时间:2010-03-29 12:52:33

标签: facebook

根据以下链接中的文档,如果用户将与表单进行交互,我们可以获取用户ID。

http://wiki.developers.facebook.com/ind ... d_Policies

“如果查看用户与选项卡交互(如提交表单,执行导致AJAX加载新内容的操作,或遵循在选项卡上加载的相对URL),则将该用户的UID发送到应用程序作为fb_sig_user参数,配置文件所有者的用户ID作为fb_sig_profile_user参数发送。仅当用户授权应用程序时,才会发送查看用户的会话密钥密钥。“

在我的粉丝页面标签中,我有一个AJAX表单,用户可以提交一些值..现在我也需要用户ID ..我怎么能得到这个..

我尝试使用$ _POST ['fb_sig_user']在我的AJAX提交页面中获取值但没有成功..任何人都可以帮我这个请...

2 个答案:

答案 0 :(得分:5)

除非您在Facebook的ajax函数中对此用户进行身份验证,否则您将无法使用$_POST['fb_sig_user']获取用户的ID:

ajax.requireLogin = true;

例如,我正在检索它:

function do_ajax(url, div_id)
{
    document.getElementById('poller_waitMessage').setStyle('display', 'block');

    var ajax = new Ajax();
    ajax.responseType = Ajax.FBML;
    ajax.onerror = function(error)
    {
        new Dialog().showMessage("Error:", "Some communication error occured, Please reload the page.","Ok");
    };

    ajax.ondone = function(data)
    {
        document.getElementById('poller_waitMessage').setStyle('display', 'none');
        document.getElementById(div_id).setInnerFBML(data);

    }

    ajax.requireLogin = true; // <----- this is important
    ajax.post(url);
}

答案 1 :(得分:1)

我很高兴为以前的应用程序使用表单变量fb_sig_profile_user,并且在上周开发新应用程序时,该变量无处可寻。

搜索了几天,我即将放弃,然后找到答案:

ajax.requireLogin = true;

我理解FB关心隐私和所有这些,但他们确实需要在取消之前宣布这些变化。

百万谢谢!

相关问题