【问题标题】:Facebook auth/canvas not displayingFacebook auth/canvas 不显示
【发布时间】:2012-01-18 06:35:10
【问题描述】:

嗨,每次我直接进入应用程序时,一切正常。但是,当我在粉丝页面上单击应用程序的选项卡时,它在 Firefox 和 chrome 中是空白的,但是在 ie 中它说:此内容不能显示在框架中为了帮助保护您输入本网站的信息的安全性,此内容的发布者不允许它在框架中显示。

你可以尝试什么: 在新窗口中打开此内容

有谁知道为什么这不起作用?这是我顶部的 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));
}

?>

【问题讨论】:

    标签: php facebook authentication canvas


    【解决方案1】:

    我认为这可能与它的设置方式有关。我的猜测是您已将您的粉丝页面应用程序的链接设置为您在 facebook 上的画布应用程序的 url。

    例如https://apps.facebook.com/wellnessiq/

    然后,当您在 facebook 中单击页面上的选项卡时,它实际上是在尝试再次将 facebook 加载到其中,而另一个 iFrame 持有您的应用程序。

    尝试将您的页面标签网址更改为您网站的完整网址

    例如 www.example.com/canvas.php

    如果不是这样,那么如果可以的话,请尝试发布更多信息

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-12-06
      • 2021-10-01
      • 2021-05-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多