Я сидел всю ночь, пытаясь выяснить, как авторизовать пользователя через API Facebooks, просто чтобы получить его идентификатор пользователя.Я испробовал почти все советы и идеи из S / O, 5 страниц «Руководств Google» и Руководства разработчика Facebook, но мне ничего не помогло!Если кто-то будет так любезен и сделает пошаговое руководство, как заставить это работать!
Является ли Open Graph необходимостью для этого?Я тоже попробовал, не работал ни с этим, ни без него.У меня уже есть мое приложение (может быть, там нет нужных настроек?), И PHP SDK
($uid = $facebook->getUser();
и т. Д. Вообще не помогает).
Заранее спасибо!
Этот код, например, не работает, я нашел его здесь на S / O, и он сказал, что он работает безупречно для него!
<?php
require_once 'facebook.php';
$facebook = new Facebook(array(
'appId' => '########',
'secret' => '##########################',
'cookie' => true,
));
$req_perms = "publish_stream,offline_access,user_status,email,read_stream";
$session = $facebook->getSession();
$loginUrl = $facebook->getLoginUrl(array('canvas'=> 1,'fbconnect' => 0,'req_perms' => $req_perms));
$user_info = null;
if (!$session)
{ echo "<script type='text/javascript'>top.location.href = '$loginUrl';</script>";exit;}
else{
try { $user_info = $facebook->api('/me'); }
catch (FacebookApiException $e)
{ echo "<script type='text/javascript'>top.location.href = '$loginUrl';</script>"; exit;}
}
?>
<!doctype html>
<html>
<head>
</head>
<body>
<?php
$user_name=$user_info['name'];
echo "Hi $user_name ! Your Facebook ID is: ".$user_info['id']."<br/>";
echo "Hi $user_name ! Your E-mail Address is: ".$user_info['email']."<br/>";
echo "Thanks for accepting our application.";
//print_r($user_info);
?>
</body>
</html>
ПравитьСпасибо за все быстрые ответы, я наконец получил это работает!Все это время я был на правильном пути.
Шаг 1: Создайте такую ссылку
https://www.facebook.com/dialog/oauth?
client_id=YOUR_APP_ID&redirect_uri=YOUR_URL
Это авторизует пользователя с помощью приложения Facebook, который необходим для шага 2.
Шаг 2: Реализация этого фрагмента кода.
require_once('facebook.php');
$fb_app_id = "APP_ID";
$fb_secret = "APP_SECRET";
$fb_app_url = "APP_URL";
$facebook = new Facebook(array(
'appId' => $fb_app_id,
'secret' => $fb_secret,
'cookie' => true,
));
$facebook_login_url = $facebook->getLoginUrl(array(
'canvas' => 1,
'fbconnect' => 0,
'scope' => 'publish_stream,user_photos',
'redirect_uri' => $fb_app_url
));
$facebook_user_id = $facebook->getUser();
Спасибо @ KevinCogill и @ JuicyScripter за советы!