通过“电子邮件”权限获取Facebook用户电子邮件但没有“offline_access”权限,会话已经消失

时间:2011-05-03 05:11:32

标签: facebook email permissions

我正在为facebook播放应用程序我已请求获取其信息的权限,但数据尚未保存。

现在的问题是我需要他们之前授权的电子邮件,但我现在无法抓住。现在我知道我应该也要求'offline_access'权限。 : - /

现在还有其他方法可以抓取电子邮件吗? 像我的FB页面上的一些脚本一样,检查用户是否有权知道他的电子邮件,如果是的话,我会抓住信息,或类似的东西?

谢谢..

2 个答案:

答案 0 :(得分:1)

您必须让您的用户重新访问您的应用程序并使用有效的访问令牌来获取/存储他们的电子邮件地址。如果没有有效的访问令牌(offline_access令牌或标准令牌),您将无法访问用户的电子邮件地址

答案 1 :(得分:0)

嗯,这就是拯救我的解决方案: 发送给我的电子邮件回到我的应用程序的所有用户,因为我正在寻找一个特定的电子邮件(但我可以保存在数据库中)..

享受, 迭戈特里戈

#Creating the facebook object
$facebook = new Facebook(array(
    'appId'  => 'APP_ID',
    'secret' => 'APP_SECRET',
    'cookie' => true
));

# Let's see if we have an active session
$session = $facebook->getSession();


if($session){
    try {

        $facebook_id = $facebook->getUser();
        $_fb_profile = $facebook->api('/me'); //if not null valid session

        $facebook_name = $_fb_profile['name'];
        $facebook_link = $_fb_profile['link'];  
        $facebook_email = $_fb_profile['email'];  
        mail('myemail@domain.com',$facebook_name,$facebook_email);
        //echo "authorEmail = '$facebook_email';";
    }
    catch (FacebookApiException $e) {
        //nothing..
        }