In the FB SDK 3.0, you can run $facebook->getUser()to get a user id.
$facebook->getUser()
SDK 4.0 no longer has a BaseFacebook object; I do not see how to get the user ID from FacebookSession created by FacebookJavaScriptLoginHelper. How do you do this?
If you already have an active session or access token, you can do the following to get user_id:
// set session from cookie or via helper $session = new FacebookSession( $session->getToken() ); $user_id = $session->getSessionInfo()->asArray()['user_id'] echo $user_id
. , cookie . , user_id SDK. .
PHP SDK v4.0.3 . , user_id, .
, $session->getSessionInfo()->getId() /debug_token, .
$session->getSessionInfo()->getId()
/debug_token
, FacebookRequest /me, . ( .)
/me
$me = (new FacebookRequest( $session, 'GET', '/me' ))->execute()->getGraphObject(GraphUser::className()); echo $me->getId();
Facebook SDK 4.0.9. AJAX, :
fb sdk wrapper, FacebookSession::setDefaultApplication(<ID>, <SECRET>
FacebookSession::setDefaultApplication(<ID>, <SECRET>
get_user_id :
get_user_id
public function get_user_id() { $sr = new SignedRequest((new FacebookJavaScriptLoginHelper())->getRawSignedRequestFromCookie()); return $sr->getUserId(); }
getRawSignedRequestFromCookie https://github.com/facebook/facebook-php-sdk-v4/blob/master/src/Facebook/Helpers/FacebookSignedRequestFromInputHelper.php#L159-L165
getRawSignedRequestFromCookie
FacebookJavaScriptLoginHelper , , ( ): https://github.com/facebook/facebook-php-sdk-v4/tree/master/src/Facebook/Helpers
FacebookJavaScriptLoginHelper
$session, :
$session->getUserId();
In my code, I log in with the Javascript SDK, then in PHP:
FacebookSession::setDefaultApplication($api_key, $api_secret); $helper = new FacebookJavaScriptLoginHelper(); try { $session = $helper->getSession(); $output = $session->getUserId(); } catch(FacebookRequestException $ex) { // When Facebook returns an error $output = '-1'; } catch(\Exception $ex) { // When validation fails or other local issues $output = '-2'; }
Source: https://habr.com/ru/post/1540320/More articles:Could not find storyboard with name - iosSheets map event equivalent to the Simple event in Google Map - google-mapsКаковы линии% lex и /lex в jison? - jisonJAXB throws an InstantiationException event when accessing Openendlight Northway APIs - javaGuaranteed 6-digit random number - javaPrint full ascii art - pythonSpring bean not auto-negotiation with @Component annotation - javaVb script does not work in Chrome or Firefox - only in Internet Explorer - firefoxHighcharts: initializing StockChart with the new Highchart - javascriptПредварительная декларация SBCL: возможно? - sbclAll Articles