2012-01-17 7 views
2

こんにちは毎回アプリに直接行くと、すべて正常に動作します。しかし、私がファンページのアプリのタブをクリックすると、FirefoxやChromeで空白になります。つまり、このコンテンツはフレームに表示できません。このウェブサイトに入力した情報のセキュリティを保護するため、このコンテンツのサイト運営者は、そのコンテンツをフレームに表示することはできません。Facebookの認証/キャンバスが表示されない

あなたが試すことができます。これが動作しない理由を誰もが 新しいウィンドウが開きます

でこのコンテンツを知っていますか?ここに私の キャンバスページの上に私の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)); 
} 

?> 

答えて

3

これはこれがどのように設定されているのかと思います。私の推測では、あなたのファンページアプリケーションのリンクをFacebookのキャンバスアプリのURLに設定していますか?

例えばhttps://apps.facebook.com/wellnessiq/

あなたがFacebookの中にあなたのページのタブをクリックすると、次に、本質的にアプリを保持している別のiFrameので再度でのFacebookをロードしようとしています。

は、あなたのサイトの完全なURLにあなたのページのタブのURLを変更してみてください

例えばwww.example.com/canvas.php

それは、あなたができれば、もう少し情報を投稿しようとする場合ではない場合

+0

ありがとうございました!多くの時間が愚かなエラーで無駄になった – Trey

+0

クール、あなたは答えとしてこれを受け入れることができると思いますか? – TommyBs

関連する問題