Авторизация приложения facebook: произошла ошибка. Пожалуйста, попробуйте позже - PullRequest
2 голосов
/ 18 марта 2012

Я только что создал приложение 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>");
    }
    ?>

Я пытался предложить, что я нашел в других темах, таких как проверка идентификатор приложения и секрет приложения , отключение песочницы . Но все это еще не сработало для меня. Пожалуйста, помогите мне с этим.

Спасибо.

Ответы [ 2 ]

0 голосов
/ 18 марта 2012

Если я не ошибаюсь, (мое взаимодействие с PHP SDK минимально), вам нужно добавить URL-адрес перенаправления, на который FB вернется после завершения аутентификации, чтобы подтвердить, что вам придется выполнить два шага:

1) $ auth_url = "http://www.facebook.com/dialog/oauth?client_id=". $ App_id." & Redirect_uri = ". Urlencode ($ canvas_page);

2) На странице ваших приложений: https://developers.facebook.com/apps/app_id нажмите Редактировать и в разделе «Выберите, как ваше приложение интегрируется с Facebook» выберите Веб-сайт.

введите URL-адрес, который вы http://apps.facebook.com/myapp.

удачи

0 голосов
/ 18 марта 2012

Я не слишком увлекаюсь кодированием, но вроде как разобрался. Ваша страница холста должна быть URL страницы, а не URL вашего приложения. Также я попытался использовать следующий код, и он работает.

<?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"]);
     } 
 ?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...