9

有谁知道如何使用 Facebook PHP SDK 获取电子邮件地址的朋友列表?

4

6 回答 6

9

你不能这样做

http://developers.facebook.com/docs/reference/api/permissions/

email该字段仅适用于连接到您的应用程序并已授予email扩展权限的用户

于 2012-01-10T02:35:10.277 回答
6

不,应用程序无法获取电子邮件权限文档中所述的朋友电子邮件。从文件中引用:

注意:应用程序无法获取用户朋友的电子邮件地址。

于 2013-10-16T03:27:32.280 回答
3

用户的电子邮件是受保护的财产,必须由应用特别请求并由用户授予对该信息的访问权限。

注意:应用程序无法获取用户朋友的电子邮件地址。

于 2014-01-15T05:12:03.390 回答
1

从此链接获取信息:

程序

Statckoverflow 讨论

如果用户/朋友没有授予您的应用电子邮件权限,您可能无法获取电子邮件地址。对于此类情况,您可以选择仅过滤已授予您应用权限的朋友。这可以使用 is_app_user 字段来完成:

SELECT uid, first_name, last_name FROM user 
  WHERE is_app_user = 1 AND uid IN (SELECT uid2 FROM friend WHERE uid1 = $userId)

获取更新答案:

$appId     = 'YOUR_APP_ID';
$appSecret = 'YOUR_APP_SECRET';

$userId          = 'A_FACEBOOK_USER_ID';
$userAccessToken = 'THE_FACEBOOK_USER_ACCESS_TOKEN';

$client = new Facebook(array('appId' => $appId, 'secret' => $appSecret));

// get all friends who has given our app permissions to access their data
$fql = "SELECT uid, first_name, last_name, email FROM user "
     . "WHERE is_app_user = 1 AND uid IN (SELECT uid2 FROM friend WHERE uid1 = $userId)";
$friends = $client->api(array(
  'method'       => 'fql.query',
  'access_token' => $userAccessToken,
  'query'        => $fql,
));

// make an array of all friend ids
$friendIds = array();
foreach ($friends as $friend) {
  $friendIds[] = $friend['uid'];
}

// get info of all the friends without using any access token
$friendIds = implode(',', $friendIds);
$fql = "SELECT uid, first_name, last_name, email FROM user WHERE uid IN ($friendIds)";
$friends = $client->api(array(
  'method' => 'fql.query',
  'query'  => $fql,
  // don't use an access token
));

// we should now have a list of friend infos with their email addresses
print_r($friends);
于 2012-01-10T04:30:06.623 回答
1

应用程序无法获取用户朋友的电子邮件地址。请参阅文档 https://developers.facebook.com/docs/reference/login/email-permissions/

于 2013-12-06T11:36:12.730 回答
1

您可以访问用户的好友列表。由于这些朋友可能没有授权您的应用程序,因此默认情况下您只能访问一组更有限的数据:只有姓名、头像、性别、网络。如果用户授予您特定权限,则 Facebook 个人资料的大多数其他部分(例如兴趣、签到、组)都可以通过 Graph API 获得。这适用于用户的信息以及他/她朋友的信息。信息是否可用取决于用户的隐私设置。

于 2016-08-08T09:01:22.720 回答