facebook app authorizing:发生错误。请稍后再试

时间:2012-03-17 20:38:50

标签: php facebook facebook-graph-api

我刚刚创建了一个Facebook应用程序,这是我的第一次尝试,我完全遵循Facebook开发人员的文档,同时按照说明完成所有内容我在授权应用程序时遇到此错误:

发生错误。请稍后再试。

    <?php
    $app_id = '1603369454518730';
    $app_secret = '511b194f6sdgg6eca7cc748d7be6d82d';
    //$canvas_page = "http://apps.facebook.com/myapp";
    $canvas_page = "http://myappweb.com/app/landhere.php";
    $auth_url = "https://www.facebook.com/dialog/oauth?client_id=" . $app_id . "&redirect_uri= " . urlencode($canvas_page);

    //Requesting Signed Parameter:
    $signed_request = $_REQUEST["signed_request"];
    list($encoded_sig, $payload) = explode('.', $signed_request, 2);
    $data = json_decode(base64_decode(strtr($payload, '-_', '+/')), true);

    //User Info. Variables:
    try {
        $userId = $data["user_id"];

    } catch(Exception $e) {
        echo $e -> getMessage();
        echo "<br>";
    }

    if (!empty($data["user_id"])) {
        if ($data['page']['liked']) {
            echo "hello";
        } else {
            echo "like page";
        }
    } else {
        echo("<script> top.location.href='" . $auth_url . "'</script>");
    }
    ?>

我尝试过在其他线程中找到的建议,例如检查 app id app secret 禁用沙箱。但这一切对我来说都没有用。请帮助我。

谢谢。

2 个答案:

答案 0 :(得分:0)

我不会编码太多,但有点整理出来。 您的画布页面应该是页面的网址而不是您的应用网址。 此外,我尝试使用以下代码,它的工作原理。

<?php 

     $app_id = "APP_ID";

     $canvas_page = "CANVAS_PAGE";

     $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"]);
     } 
 ?>

答案 1 :(得分:0)

如果我没有弄错,(我与PHP SDK的交互很少),您需要添加一个重定向URL,当验证完成后FB将返回该URL,以完成您必须执行两个步骤:< / p>

1)$ auth_url =“http://www.facebook.com/dialog/oauth?client_id=”             。 $ app_id。 “&amp; redirect_uri =”。进行urlencode($ canvas_page);

2)在你的应用程序页面中:https://developers.facebook.com/apps/app_id 按编辑并在“选择您的应用如何与Facebook集成” 选择网站。

在网址中输入你http://apps.facebook.com/myapp

祝你好运