2011-10-04 114 views
1

我试图设置一个新的Facebook应用程序使用Facebook的例子,但身份验证给我一个错误。Facebook的帆布应用程序:API错误代码:191:身份验证错误

我第一次去developers.facebook.com/setup/并使用我的网站的网址(试图基数和子文件夹:http://mydomain.comhttp://mydomain.com/facebook-app/

帆布网址:http://mydomain.com/faceboo-app/ 安全帆布网址:无

我的index.php

<?php 


$app_id = "XXXXXXXXXXXXXXXXXXXX"; 

$canvas_page = "http://apps.facebook.com/XXXXXXXXXXXXXXX/"; 

$auth_url = "http://www.facebook.com/dialog/oauth?client_id=" 
     . $app_id . "&redirect_uri=" . urlencode($canvas_page); 

$signed_request = $_REQUEST["signed_request"]; 

list($encoded_sig, $payload) = explode('.', $signed_request, 2); 

$data = json_decode(base64_decode(strtr($payload, '-_', '+/')), true); 

if (empty($data["user_id"])) { 
     echo("<script> top.location.href='" . $auth_url . "'</script>"); 
} else { 
     echo ("Welcome User: " . $data["user_id"]); 
} 

?>

当我尝试参观http://apps.facebook.com/XXXXXXXXXXXXXXX/

我得到:与APP名称发生

错误。请稍后再试

API错误代码:191 API错误描述:指定的URL不会被应用 错误消息资:无效REDIRECT_URI:给定的URL不是由应用程序配置允许的。

有人可以帮忙吗?

+0

[Facebook的API错误191(HTTP的可能重复:// stackoverflow.com/questions/4691782/facebook-api-error-191) – genesis

回答

2

欧有重定向用户返回到您的网页,让您的$ canvas_url变量必须是你的网页的URL(你在应用程序设置中输入)

+0

我怎么错过了:( 谢谢! 现在我重定向到http://domain.com/facebook/?code=dasdasdas .. – Sharethefun

+0

嗯,我看到你正在解析signed_request,我没有尝试过这种方法,而是我只是检查我是否收到代码或不($ _GET ['code]',如果变量是空的,那么你需要使用你的$ auth_url重定向用户,如果不是,你可以继续下一步网络认证) – Darvex