【问题标题】:Is it possible to get friend's emails using facebook api?是否可以使用 facebook api 获取朋友的电子邮件?
【发布时间】:2013-09-05 06:07:48
【问题描述】:

我得到的是姓名和身份证,但没有关于朋友的更多信息。

<?php
    $friends = $facebook->api('me/friends');

    //print_r($friends['data']);
    print_r("Number of Friends: ". count($friends['data']));

    foreach ($friends['data'] as $key=>$listOfFriends) 
    {
       echo "<br/>".$key." ".$listOfFriends['name']."<img src='https://graph.facebook.com/".$listOfFriends['id']."/picture' width='50' height='50' title='".$listOfFriends['name']."' />";     
    }
?>

【问题讨论】:

标签: php facebook facebook-graph-api facebook-php-sdk facebook-sdk-3.0


【解决方案1】:

来自 Facebook 文档:

“同样,为了保护未明确授权您的应用程序的用户的隐私,您的应用程序将只能访问有关用户朋友的基本个人资料信息,例如他们的姓名和个人资料图片。如果您的应用程序需要访问有关用户朋友的其他数据以启用社交功能,您将需要请求下面列出的一些特殊朋友权限。"

【讨论】:

  • 感谢您的回答。但我仍然很困惑如何做到这一点..因为我有权限添加到应用程序来访问来自应用程序管理器中的配置权限的朋友电子邮件..
【解决方案2】:

您无法获取朋友的电子邮件地址...一切都取决于他们的隐私设置。

如果他们允许让朋友或其他用户查看他们的电子邮件地址,那么您可以检索,否则不允许

【讨论】:

  • 是的,如果他们允许我访问,那么如何以编程方式进行?
【解决方案3】:

您可以,但您必须向用户询问具体的email permissions

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

这里是链接https://developers.facebook.com/docs/reference/login/email-permissions/

更新:

使用 Facebook Javascript SDK,在客户端,您可以使用此代码请求电子邮件权限:

FB.login(function(response) { // Asking for email permission.
    // After getting the response, check if the user has granted the permission or not.
    FB.api({ method: 'fql.query', query: 'SELECT email FROM permissions WHERE uid = ' + UserID}, function(resp) {
          if(resp[0]['email'] == '1')
                ; // Permission given.
          else
                ; // Permission not given.
     });
}, {scope: 'email'});

【讨论】:

  • 你的意思是向 PHP 请求许可?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-04-22
  • 1970-01-01
  • 1970-01-01
  • 2012-11-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多