Facebook PHP SDK, как определить URL обратного вызова - PullRequest
0 голосов
/ 25 февраля 2011

Я написал следующий скрипт, который проверяет сессию пользователя и соответственно отображает ссылки входа / выхода.Сценарий работает, но проблема в том, что я не знаю, как установить URL обратного вызова, на моей странице настроек приложения FB нет поля (или, по крайней мере, я не могу его найти).Есть идеи?

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

$session = $facebook->getSession();

$me = null;

if ($session) {
  try {
    $uid = $facebook->getUser();
    $me = $facebook->api('/me');
  } catch (FacebookApiException $e) {
    error_log($e);
  }
}

?>
<?php if ($me): ?>
  <a href="<?php echo $facebook->getLogoutUrl(); ?>">Logout</a>
<?php else: ?>
  <a href="<?php echo $facebook->getLoginUrl(array('req_perms'=>"email,publish_stream")); ?>">Login</a>
<?php endif; ?>

Ответы [ 2 ]

3 голосов
/ 25 февраля 2011

Параметр называется «следующий».Итак, вы делаете это так:

<a href="<?php echo $facebook->getLoginUrl(array('req_perms'=>"email,publish_stream",'next'=>"welcome.html")); ?>">Login</a>

Измените "welcome.html" на то место, куда вы хотите, чтобы ваш пользователь заходил на ваш сервер после входа в систему.

0 голосов
/ 28 февраля 2011

В файле facebook php sdk, о строке 418

 public function getLoginUrl($params=array()) {
    $currentUrl = $this->getCurrentUrl();
    return $this->getUrl(
      'www',
      'login.php',
      array_merge(array(
        'api_key'         => $this->getAppId(),
        'cancel_url'      => $currentUrl,
        'display'         => 'page',
        'fbconnect'       => 1,
        'next'            => $currentUrl,
        'return_session'  => 1,
        'session_version' => 3,
        'v'               => '1.0',
      ), $params)
    );
  }

и 445

 public function getLogoutUrl($params=array()) {
    return $this->getUrl(
      'www',
      'logout.php',
      array_merge(array(
        'next'         => 'http://yoururl.com/?logout=1', // or $currentUrl the same page who make the callback , and destroy session if it.
        'access_token' => $this->getAccessToken(),
      ), $params)
    );
  }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...