0

嗨,我的 Facebook API 有问题,虽然我要求获得获取电子邮件的权限,但我无法获取邮件值,我做错了什么?这是我的代码:

    $facebook = new Facebook(array(
  'appId'  => 'xxxxxxxx',
  'secret' => 'xxxxxxxxxx',
  'cookie' => false
));

// See if there is a user from a cookie
$fbuser = $facebook->getUser();

if ($fbuser) {
  try {
    // Proceed knowing you have a logged in user who's authenticated.
    $FBUSER = $facebook->api('/me');
    $FBUSER1 = $facebook->api('/me');
    print_r($FBUSER1);
  } catch (FacebookApiException $e) {
    print_r($e);
    $USER=false;
  }
}
    $loginUrl = $facebook->getLoginUrl(array("scope"=>"email, publish_actions"));
4

2 回答 2

1

几天前,我正在编写我的应用程序的类似登录/授权位,在我正确订购流程步骤之前,我得到了类似的结果。

从您的代码段来看,您似乎在用户实际授予您的应用程序扩展权限之前打印了 $fbuser 数组。假设您正在使用自己的帐户登录 facebook 进行一些测试:您可能已经使用基本权限授权了一次应用程序,现在它从您的帐户返回这些基本数据(没有“电子邮件”,因为它属于扩展烫发)。

更多代码可能有助于更好地理解,但我仍然会仔细检查: 1. 显示来自 FB getLoginURL() 方法的页面/弹出窗口,并且用户接受登录(如果没有)和授权扩展权限(如果需要) . 2. 您网站上的 return_uri 代码已准备好捕获来自上一步的任何数据(例如,打印用户详细信息)。

请注意,我从您的代码中看到 return_uri 未定义。

于 2013-01-28T23:30:05.747 回答
0

如果您在没有 access_token 的情况下发送请求,您将获得没有电子邮件和一些不同字段的短字段集。

于 2013-01-29T19:32:37.367 回答