Вкладка фан-страницы Facebook и идентификатор пользователя - PullRequest
4 голосов
/ 29 марта 2010

Согласно документации, приведенной в следующей ссылке, мы можем получить идентификатор пользователя, если пользователь будет взаимодействовать с формой.

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

"Если просматривающий пользователь взаимодействует с вкладкой (например, отправляет форму, выполняет действие, которое вызывает загрузку нового содержимого в AJAX, или следует по относительному URL-адресу, который загружается на вкладке), UID этого пользователя отправляется в приложение. в качестве параметра fb_sig_user идентификатор пользователя владельца профиля отправляется в качестве параметра fb_sig_profile_user. Ключ сеанса пользователя, просматривающего ключ, является ключом, отправляемым, только если пользователь авторизовал приложение. "

На моей вкладке фан-страницы у меня есть форма AJAX, которую пользователь может отправить с некоторым значением ... теперь мне также нужен идентификатор пользователя .. как я могу получить это ..

Я попытался получить значение на моей странице отправки AJAX, используя $ _POST ['fb_sig_user'], но безуспешно. Может ли кто-нибудь помочь мне с этим, пожалуйста ..

Ответы [ 2 ]

5 голосов
/ 06 мая 2010

Вы не сможете получить идентификатор пользователя, используя $_POST['fb_sig_user'], если вы не аутентифицируете пользователя с помощью этого в функции ajax на Facebook:

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 голос
/ 06 июля 2010

Я с радостью использовал переменную формы fb_sig_profile_user для предыдущих приложений, и при разработке нового приложения на прошлой неделе переменная была не где искать.

Искал несколько дней, я уже собирался сдаться, а потом нашел ответ:

ajax.requireLogin = true;

Я понимаю, что FB заботится о конфиденциальности и обо всем, но им действительно нужно объявить о таких изменениях, прежде чем просто отнять их.

Миллион Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...