Facebook Connect Получение данных пользователя - PullRequest
0 голосов
/ 15 марта 2011

Я последовал примеру Facebook PHP SDK и создал следующее.

<code><?php

    require ("lib/facebook.php");

    $facebook = new Facebook(array('appId' => 'XXXXXXXXXXXX', 'secret' => 'XXXXXXXXXXXXXXXXXXXXXXX', 'cookie' => true, ));

    $session = $facebook->getSession();
    $me = null;
    // Session based API call.
    if($session) {
        try {
            $uid = $facebook->getUser();
            $me = $facebook->api('/me');
        }
        catch (FacebookApiException $e) {
            error_log($e);
        }
    }

    // login or logout url will be needed depending on current user state.
    if($me) {
        $logoutUrl = $facebook->getLogoutUrl();
    } else {
        $loginUrl = $facebook->getLoginUrl();
    }
    ?>

    <!doctype html>
    <html xmlns:fb="http://www.facebook.com/2008/fbml">
        <head>
        <title>php-sdk</title>
        <style>
    body {
        font-family: 'Lucida Grande', Verdana, Arial, sans-serif;
    }
    h1 a {
        text-decoration: none;
        color: #3b5998;
    }
    h1 a:hover {
        text-decoration: underline;
    }
    </style>
        </head>

        <body>
    <div id="fb-root"></div>
    <script>
          window.fbAsyncInit = function() {
            FB.init({
              appId   : '<?php
    echo $facebook->getAppId();
    ?>',
              session : <?php
    echo json_encode($session);
    ?>, // don't refetch the session when PHP already has it
              status  : true, // check login status
              cookie  : true, // enable cookies to allow the server to access the session
              xfbml   : true // parse XFBML
            });

            // whenever the user logs in, we refresh the page
            FB.Event.subscribe('auth.login', function() {
              window.location.reload();
            });
          };

          (function() {
            var e = document.createElement('script');
            e.src = document.location.protocol + '//connect.facebook.net/en_US/all.js';
            e.async = true;
            document.getElementById('fb-root').appendChild(e);
          }());
        </script>
    <?php
    if($me):
    ?>
    <a href="<?php
        echo $logoutUrl;
    ?>"> <img src="http://static.ak.fbcdn.net/rsrc.php/z2Y31/hash/cxrz4k7j.gif"> </a>
    <?php
    else:
    ?>
    <div> Using JavaScript &amp; XFBML:
          <fb:login-button></fb:login-button>
        </div>
    <?php
    endif;
    ?>
    <h3>Session</h3>
    <?php
        if($me):
    ?>
    <pre><?php
            print_r($session);
    ?>

You

image/picture">

Ваш пользовательский объект

<?php
            print_r($me);
    ?>
Вы не подключены.

Когда я нажимаю «Войти».Это открывает окно и когда я разрешаю разрешение.Это освежает окно.только чтобы показать тот же контент.когда я делаю print_r($me), ничего не видно.

Когда я проверяю в настройках приложения.Приложение установлено в моей учетной записи FB.

РЕДАКТИРОВАТЬ

enter image description here

enter image description here

Ответы [ 2 ]

2 голосов
/ 15 марта 2011

Убедитесь, что URL-адрес Canvas, настроенный вами в конфигурации вашего приложения, совпадает с URL-адресом, который вы выполняете.

Если это не то же самое, это обычное поведение.

1 голос
/ 26 июня 2012

Я думаю, что URL-адрес холста не настроен в соответствии с вашим приложением.Вы должны настроить его, иначе это обычный феномен.

...