Простая аутентификация на основе iframe в Facebook - PullRequest
1 голос
/ 26 февраля 2011

Я написал приложение на Facebook, но аутентификация не работает должным образом.Несмотря на поиск в Google нескольких часов, это не решило проблему.пожалуйста, напишите скрипт, который аутентифицирует пользователя должным образом, и если пользователь нажимает кнопку разрешения, просто отобразите текст «Welcome», предполагая, что я написал все основные суффиксы.

require 'sdk/src/facebook.php';
 $app_id = 'MY APP ID';
 $canvas_page = "MY CANVAS URL";

// Create our Application instance (replace this with your appId and secret).
   $auth_url = "http://www.facebook.com/dialog/oauth?client_id="
            . $app_id . "&redirect_uri=" . urlencode($canvas_page) ."&scope=email,read_stream&installed=1";
  $facebook = new Facebook(array(
  'appId'  => $app_id ,
  'secret' => MY APP SECRET,
  'cookie' => true,
));
///... your code to solve !

Ответы [ 2 ]

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

Никто не дает окончательного решения: наконец, я решил это сам. что я делаю Facebook отправляет параметр «installed=1» с URL-адресом, когда пользователь разрешает приложение. Я проверил этот параметр и снова перенаправил его в приложение. Я очень рад найти очень хорошее и эффективное решение. Никто не ответил мне ни на один голос.

if(isset($_REQUEST['installed']))
  echo("<script>top.href.location='http://apps.facebook/myapp' </script>");
0 голосов
/ 26 февраля 2011

Кажется, что вы смешиваете примеры из документации и PHP-SDK, отбрасывание примера из PHP-SDK должно работать.

После кода в этом ответе :

<?php
require '../src/facebook.php';
$facebook = new Facebook(array(
  'appId'  => 'XXXXXXX',
  'secret' => 'XXXXXXXX',
  'cookie' => true,
));

$session = $facebook->getSession();
$loginUrl = $facebook->getLoginUrl();
$me = null;

if ($session) {
  try {
    $uid = $facebook->getUser();
    $me = $facebook->api('/me');

    echo "Welcome User: " . $me['name'] . "<br />";
  } catch (FacebookApiException $e) {
    error_log($e);
  }
} else {
    echo("<script> top.location.href='" . $loginUrl . "'</script>");
}
?>
...