Аутентификация Facebook / холст не отображается - PullRequest
2 голосов
/ 18 января 2012

Привет. Каждый раз, когда я иду прямо в приложение, все работает правильно. Однако, когда я нажимаю на вкладку для приложения на странице вентилятора, она пуста в Firefox и Chrome, однако в ней говорится: «Это содержимое не может быть отображено в рамке. издатель этого контента не позволяет отображать его в рамке.

Что вы можете попробовать: Открыть этот контент в новом окне

Кто-нибудь знает, почему это не работает? Вот мой PHP-код в верхней части моего холст страницы. Спасибо!

<?php 

$app_id = "181247898619054";
$app_secret = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
$my_url = "https://apps.facebook.com/wellnessiq/";
session_register();
session_start();
header('P3P: CP="CAO PSA OUR"');

if (!isset($_REQUEST["code"]))
{
$_SESSION['state'] = md5(uniqid(rand(), TRUE)); //CSRF protection
$dialog_url = "https://www.facebook.com/dialog/oauth?client_id=" 
. $app_id . "&redirect_uri=" . urlencode($my_url) . "&scope=email&state="
. $_SESSION['state'];

echo("<script> top.location.href='" . $dialog_url . "'</script>");
exit;
}
$code = $_REQUEST['code'];
{
$token_url = "https://graph.facebook.com/oauth/access_token?"
. "client_id=" . $app_id . "&redirect_uri=" . urlencode($my_url)
. "&client_secret=" . $app_secret . "&code=" . $code;

$response = file_get_contents($token_url);
$params = null;
parse_str($response, $params);

$graph_url = "https://graph.facebook.com/me?access_token=" 
. $params['access_token'];

$user = json_decode(file_get_contents($graph_url));
}

?>

1 Ответ

3 голосов
/ 18 января 2012

Я думаю, это может быть связано с тем, как это настроено. Полагаю, вы установили ссылку на приложение фан-страницы в качестве URL-адреса вашего холст-приложения на Facebook.

например, https://apps.facebook.com/wellnessiq/

Затем, когда вы щелкаете вкладку на своей странице в Facebook, она по сути пытается снова загрузить в нее Facebook, а другой iFrame удерживает ваше приложение.

Попробуйте изменить URL-адрес вкладки страницы на полный URL-адрес вашего сайта

например, www.example.com/canvas.php

если это не так, попробуйте опубликовать немного больше информации, если вы можете

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