Изменение URL-адресов, опубликованных на временной шкале Facebook

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

function postFoo(){
    FB.api(
        '/me/<?php echo $namespace; ?>:foo?bar=<?php echo $url;?>',
        'post',
        function(response) {
            if (!response || response.error) {
                    console.log(response.error);
            } else {
                    console.log('Foo was successful! Action ID: ' + response.id);
            }
        });
}

Все это работает правильно, и действие правильно добавляется на временную шкалу, однако URL-адреса ссылок, содержащихся в сообщении временной шкалы, похожи на фактическое местоположение приложений (например, http://foo.bar.com/app), а не URL-адрес вкладки facebook, как можно было бы ожидать. Я безуспешно пытался изменить URI перенаправления на адрес вкладки страницы.

Кто-нибудь еще сталкивался с этой проблемой, и если есть какие-либо решения или предложения, я был бы очень признателен.




Ответы (1)


Это сложно. Facebook всегда будет отправлять пользователя обратно на URL-адрес, который вы использовали в объекте.

Что вам нужно сделать, так это определить, приходит ли пользователь с Facebook, а затем перенаправить его обратно на фан-страницу. Вы можете сделать это в PHP, чтобы проверить, есть ли в URL-адресе fb_source или fb_action_ids.

Пример PHP:

<?php
if ( isset( $_GET['fb_source'] ) || isset( $_GET['fb_action_ids'] ) ) {
    header( 'Location: '. $fan_page_url );
}
?>

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

person Niraj Shah    schedule 23.05.2012