在Facebook应用程序中获取朋友的电子邮件

时间:2009-07-27 16:37:52

标签: c# facebook facebook-c#-sdk

如何在我的Facebook应用程序中以编程方式获取我朋友的电子邮件? facebook是否提供此功能?

4 个答案:

答案 0 :(得分:10)

答案是否定的,Facebook不提供此功能。 Facebook试图保护其用户的隐私,因此明确无法使用用户电子邮件地址。

向用户发送电子邮件的唯一方法是prompt them通过Facebook prompt向您授予扩展电子邮件权限。如果他们授予您权限,您可以使用notifications.sendEmail API方法,或在user字段中查询proxied_email字段,并通过Facebook's Email Proxy系统向他们发送电子邮件

答案 1 :(得分:4)

编辑:使用较新的Graph API权限系统进行了更改。用户现在可以选择使用代理邮件地址,但默认情况下它似乎会显示真实的电子邮件。

Facebook的API调用永远不会泄露用户的电子邮件地址。

即使用户特别授予您通过电子邮件发送电子邮件的权限,它也是代理的电子邮件地址,但不会显示其真实地址 - 例如apps+###########.#########.######################@proxymail.facebook.com

有关详细信息,请参阅http://wiki.developers.facebook.com/index.php/Proxied_Email

答案 2 :(得分:1)

我认为你不能通过FQL这样做。 作为学术练习,您可能需要使用CURL,然后使用CAPTCHA解析服务

另见: http://www.25hoursaday.com/weblog/2007/08/21/FacebookTheSocialGraphRoachMotel.aspx

http://weblogs.mozillazine.org/gerv/archives/2007/09/facebook_imagetoemail.html

当然是Christopher Finke的插件:

http://www.chrisfinke.com/2007/09/11/convert-facebook-e-mail-images-to-actual-e-mail-links/

答案 3 :(得分:0)

该功能可用,新的facebook ios sdk具有扩展权限,您可以在用户登录时声明权限以授予访问权限,当授予访问权限时我们可以访问其电子邮件ID,

像这样,我已经抓住了,

     _permissions =  [[NSArray arrayWithObjects: 
                  @"publish_stream",@"email", @"offline_access",nil] retain];
      NSString *emailUsr = [result objectForKey:@"email"];

现在您可以获得Facebook用户电子邮件。