Я пытаюсь сделать приложение Facebook и нуждаюсь в идентификаторе пользователя из Facebook, когда пользователь открывает приложение. Я установил свое приложение и его показную форму на холсте Facebook, мне нужна помощь в подключении Facebook API к моей странице, мне нужно будет загрузить API для этого? И как я могу получить идентификатор пользователя из объекта JSON, который, по словам facebook, отправляет в приложение?
Мое тестовое приложение:
<?php echo "this is working"; ?>
Это работает на Facebook.
Загрузите PHP SDK
Очень простой пример кода для получения идентификатора пользователя – если пользователь зарегистрировался и разрешил приложение, то $facebook->getUser()
предоставит вам идентификатор пользователя:
require 'facebook.php'; $facebook = new Facebook(array( 'appId' => 'YOUR_APP_ID', 'secret' => 'YOUR_APP_SECRET', )); // Get User ID $user = $facebook->getUser(); if ($user) { try { // Get the user profile data you have permission to view $user_profile = $facebook->api('/me'); echo "<pre>"; print_r($user_profile); echo "</pre>"; } catch (FacebookApiException $e) { $user = null; } } else { die('<script>top.location.href="'.$facebook->getLoginUrl().'";</script>'); }
.require 'facebook.php'; $facebook = new Facebook(array( 'appId' => 'YOUR_APP_ID', 'secret' => 'YOUR_APP_SECRET', )); // Get User ID $user = $facebook->getUser(); if ($user) { try { // Get the user profile data you have permission to view $user_profile = $facebook->api('/me'); echo "<pre>"; print_r($user_profile); echo "</pre>"; } catch (FacebookApiException $e) { $user = null; } } else { die('<script>top.location.href="'.$facebook->getLoginUrl().'";</script>'); }
Взгляните на примеры в SDK и на сайте разработчиков Facebook .
Вот какой-то написанный мной код взлома, который позволяет получить любой идентификатор пользователя facebook, даже если он не зарегистрирован или не авторизован приложением https://github.com/invisiblevision/get-facebook-id/
<?php $profile_url = 'https://facebook.com/profileUrl'; function get_web_page( $url ) { $user_agent='Mozilla/5.0 (Windows NT 6.1; rv:8.0) Gecko/20100101 Firefox/8.0'; $options = array( CURLOPT_CUSTOMREQUEST =>"GET", //set request type post or get CURLOPT_POST =>false, //set to GET CURLOPT_USERAGENT => $user_agent, //set user agent CURLOPT_COOKIEFILE =>"cookie.txt", //set cookie file CURLOPT_COOKIEJAR =>"cookie.txt", //set cookie jar CURLOPT_RETURNTRANSFER => true, // return web page CURLOPT_HEADER => false, // don't return headers CURLOPT_FOLLOWLOCATION => true, // follow redirects CURLOPT_ENCODING => "", // handle all encodings CURLOPT_AUTOREFERER => true, // set referer on redirect CURLOPT_CONNECTTIMEOUT => 120, // timeout on connect CURLOPT_TIMEOUT => 120, // timeout on response CURLOPT_MAXREDIRS => 10, // stop after 10 redirects ); $ch = curl_init( $url ); curl_setopt_array( $ch, $options ); $content = curl_exec( $ch ); $err = curl_errno( $ch ); $errmsg = curl_error( $ch ); $header = curl_getinfo( $ch ); curl_close( $ch ); $header['errno'] = $err; $header['errmsg'] = $errmsg; $header['content'] = $content; return $header; } /*Getting user id */ $url = 'http://findmyfbid.com'; $data = array('url' => $profile_url ); // use key 'http' even if you send the request to https://... $options = array( 'http' => array( 'header' => "Content-type: application/x-www-form-urlencoded\r\n", 'method' => 'POST', 'content' => http_build_query($data), ), ); $context = stream_context_create($options); $result = file_get_contents($url, false, $context); function getData($data) { $dom = new DOMDocument; $dom -> loadHTML( $data ); $divs = $dom -> getElementsByTagName('code'); foreach ( $divs as $div ) { return $div -> nodeValue; } } $uid = getData($result); // User ID