2012-06-22 3 views
0

У меня есть приложение на http://apps.facebook.com/myappname, которое является холстом страницы http://mydomain.com.Переадресовать мой домен.com на facebook страницу холста

Я не хочу, чтобы у пользователя был доступ к mydomain.com, поэтому я хочу перенаправить его на http://apps.facebook.com/myappname.

Для чего это лучший ват? Я пытался перенаправить через javascript, php и htaccess, но я получаю сообщение об ошибке, так как facebook использует мой url для загрузки страницы холста. Есть ли решение для этого?

+0

Смотрите эту тему. http://stackoverflow.com/questions/6076359/force-facebook-app-to-use-page-tab-iframe – cpilko

+0

Проблема в том, что FB.Canvas.getPageInfo работает только внутри apps.facebook.com/appname. Я не могу использовать его, когда на улице. Любое предложение? –

ответ

2

JavaScript:

function referrerIsFacebookApp() { 
    if(document.referrer) { 
     return document.referrer.indexOf("facebook.com") !== -1; 
    } 
    return false; 
} 
if (!referrerIsFacebookApp()) { 
    top.location.replace("http://apps.facebook.com/APP_NAME_SPACE"); 
} 

PHP:

function referrerIsFacebookApp() { 
    if (strpos($_SERVER['HTTP_REFERER'], "facebook.com") === false || strpos($_SERVER['HTTP_REFERER'], "facebook.com/l.php?u=") !== false) { 
     return false; 
    } 
    return true; 
} 
if (!referrerIsFacebookApp()) { 
    header("Location: http://apps.facebook.com/APP_NAME_SPACE"); 
} 
+0

Ницца! Я использовал ту же логику с переменной php: $ _SERVER ['HTTP_REFERER'] –

+0

Hola Pedro, я обновил свой ответ с помощью PHP-эквивалента кода JavaScript выше. Думаю, вы сделали это аналогичным образом. – borisdiakur

+0

У вас есть решение перенаправить с уважаемыми параметрами URL-адреса? –

0

Просто проверьте параметр signed_request при загрузке приложения в его iframe.

+0

Но signed_request нет данных. Посмотрите мой Подписанный запрос: массив (размер = 6) 'Алгоритм' => строка 'HMAC-SHA256' (длина = 11) 'истекает' => Int 1340391600 'issued_at' => Int 1340385170 'oauth_token' => string 'XXXX' (length = 113) 'user' => array (size = 3) 'country' => string 'br' (length = 2) 'locale' => string ' pt_BR '(length = 5) ' age '=> array (size = 1) ' min '=> int 21 ' user_id '=> string' XXXX '(length = 9) –

+0

К сожалению, это было только для вкладок страниц, справа. – CBroe

Смежные вопросы