How to use access token with PHP SDK and retrieve user_activities parameter using fql?
10,148
You need to ask for extended permissions:
$params = array(
'scope' => 'email, user_activities',
'redirect_uri' => 'https://www.myapp.com/post_login_page'
);
$loginUrl = $facebook->getLoginUrl($params);
For more info on this you can chek here:
http://developers.facebook.com/docs/reference/php/facebook-getLoginUrl/
For permissions here:
http://developers.facebook.com/docs/reference/api/permissions/
Author by
Mihir Ochani
Updated on June 04, 2022Comments
-
Mihir Ochani almost 2 years
I was wondering how to use access token obtained by the getAccessToken() in PHP SDK Following is my code snippet trying to display user email id as well as user activities : When I run this code emAIL AND USER ACTIVITIES are blank how do I fix this?
<?php require '/home/vespanve/public_html/facebook-php-sdk/src/facebook.php'; $facebook = new Facebook(array( 'appId' => '39653698mmmmm448', 'secret' => 'd7681299469mmmmmmmmmmmmm', )); $config = array( 'appId' => '39653698mmmmm448', 'secret' => 'd7681299469mmmmmmmmmmmmm', ); $facebook = new Facebook($config); $user_id = $facebook->getUser(); $access_token = $facebook->getAccessToken(); $facebook->setAccessToken($access_token); ?> <html> <head></head> <body> <? if($user_id) { // We have a user ID, so probably a logged in user. // If not, we'll get an exception, which we handle below. try { $fql = 'SELECT name from user where uid = ' . $user_id; $fqlmail = 'SELECT email from user where uid = ' . $user_id; $fqlact = 'SELECT user_activities from user where uid = ' . $user_id; $ret_obj = $facebook->api(array( 'method' => 'fql.query', 'query' => $fql, )); $ret_obj2 = $facebook->api(array( 'method' => 'fql.query', 'access_token' => $cookie['access_token'], 'query' => $fqlmail, )); $ret_obj3 = $facebook->api(array( 'method' => 'fql.query', 'access_token' => $cookie['access_token'], 'query' => $fqlact, )); // FQL queries return the results in an array, so we have // to get the user's name from the first element in the array. echo '<pre>Name: ' . $ret_obj[0]['name'] . '</pre>'; echo '<pre>Email: ' . $ret_obj2[0]['email'] . '</pre>'; echo '<pre>Activities: ' . $ret_obj3[0]['user_activities'] . '</pre>'; $facebook->destroySession(); } catch(FacebookApiException $e) { // If the user is logged out, you can have a // user ID even though the access token is invalid. // In this case, we'll get an exception, so we'll // just ask the user to login again here. $login_url = $facebook->getLoginUrl(); echo 'Please <a href="' . $login_url . '">login.</a>'; error_log($e->getType()); error_log($e->getMessage()); } } else { // No user, so print a link for the user to login $login_url = $facebook->getLoginUrl(); echo 'Please <a href="' . $login_url . '">login.</a>'; } ?> </body> </html>