【问题标题】:Facebook Canvas App: API Error Code: 191 : Authentication ErrorFacebook Canvas 应用程序:API 错误代码:191:身份验证错误
【发布时间】:2011-11-30 14:22:40
【问题描述】:

我正在尝试使用 Facebook 中的示例设置一个新的 Facebook 应用程序,但身份验证给了我一个错误。

我首先访问 developers.facebook.com/setup/ 并使用我网站的 URL(尝试了基本文件夹和子文件夹:http://mydomain.comhttp://mydomain.com/facebook-app/

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

我的 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。

有人可以帮忙吗?

【问题讨论】:

标签: php facebook facebook-authentication facebook-apps


【解决方案1】:

您必须将用户重定向回您的网站,因此您的 $canvas_url 变量必须是您的网址(您在应用设置中输入)

【讨论】:

  • 我怎么错过了 :( 谢谢!现在我被重定向到 domain.com/facebook/?code=dasdasdas.. 陷入重定向循环。有什么想法吗?
  • 好吧,我看到你正在解析signed_request,我没有尝试过那个方法,而是我只是检查了我是否收到了代码($_GET['code]',如果变量为空则您需要使用您的 $auth_url 重定向用户,如果不是,您可以进行下一步的网络身份验证)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-06-10
  • 1970-01-01
  • 1970-01-01
  • 2011-11-16
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多