Sunday, January 9, 2022

[FIXED] Permission to get user email with Facebook PHP SDK

Issue

I have a working integration with facebok api via PHP SDK and working login. Now I tried to add the permission for email as well with the following code, but when trying to connect/login to the app the email is not requested.

// login or logout url will be needed depending on current user state.
if ($me) {
  $logoutUrl = $facebook->getLogoutUrl();
} else {
  $loginUrl = $facebook->getLoginUrl(array(
    'req_perms' => 'email',
  ));
}

The error must be in this code since everything else works fine. Thanks!


Solution

Remove the comma you have after 'email' and redirect the browser to $loginUrl, like this:

$loginUrl = $facebook->getLoginUrl(
  array(
    'req_perms' => 'email'
  )
);

echo '<script>top.location="'.$loginUrl.'";</script>';
die();

EDIT

This was how it was done back in the day, now facebook have changed their API:s. For a more current solution, look at the other answers on this question.



Answered By - fredrik

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.