PHP PHP API / Приложение: iFrame

1

У меня есть простое приложение, которое использовалось для работы в старом API. Это приложение iFrame, и я не могу получить сеанс пользователя с новым API независимо от того, что я пытаюсь. Вот код, который у меня есть сейчас:

<?php
error_reporting(E_ALL);

require 'facebook.php';

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

$session = $facebook->getSession();
if ( !$session )
{
 //echo "Failed. No session.<br />";

    $url = $facebook->getLoginUrl(array(
               'canvas' => 1,
               'fbconnect' => 0,
               'next'=>'http://www.facebook.com',
               'cancel_url' => 'http://www.facebook.com'
           ));

    //echo "<script type='text/javascript'>top.location.href = '$url';</script>";
    echo "<a href='".$url."' target='_blank'>First time using this App? Click here to connect it to your Facebook.</a>";

}
else {

    try {

        $uid = $facebook->getUser();
        $me = $facebook->api('/me');

        $updated = date("l, F j, Y", strtotime($me['updated_time']));

        echo "Hello " . $me['name'] . "<br />";
        echo "You last updated your profile on " . $updated;

    } catch (FacebookApiException $e) {

        echo "Error:" . print_r($e, true);

    }
}

Независимо от того, что я пытаюсь, $session никогда не возвращается (после нажатия ссылки). Я использую правильный appID/secret/facebook.php, но он всегда попадает в путь! $Session, если путь. Что я делаю неправильно?

Теги:
facebook

2 ответа

1
$facebook->getLogoutUrl();

Это может помочь

https://github.com/facebook/php-sdk/tree/v3.1.1

0

Версия PHP API, которую я использую, которую я загрузил несколько дней назад, не имеет $facebook- > getSession()

Итак, в зависимости от используемой вами версии (предполагая, что старые версии имеют getSession, я не знаю, что я только начал использовать API), у него может не быть getSession больше.

В примере, который появился с api, использовался - > getUser, чтобы попытаться получить объект пользователя и проверить, действительно ли это, а затем попытаться получить профиль пользователей с помощью информации, чтобы проверить правильность подключения.

Надеюсь, что это поможет.

Джейсон Пеник

Ещё вопросы

Сообщество Overcoder
Наверх
Меню