【发布时间】:2009-07-27 16:37:52
【问题描述】:
如何在我的 Facebook 应用程序中以编程方式获取我朋友的电子邮件? facebook 是否提供此功能?
【问题讨论】:
标签: c# facebook facebook-c#-sdk
如何在我的 Facebook 应用程序中以编程方式获取我朋友的电子邮件? facebook 是否提供此功能?
【问题讨论】:
标签: c# facebook facebook-c#-sdk
答案是否定的,Facebook 不提供此功能。 Facebook 试图保护其用户的隐私,因此用户电子邮件地址明确不可用。
向用户发送电子邮件的唯一方法是发送至prompt them,通过Facebook prompt 授予您扩展的电子邮件权限。如果他们授予您权限,您可以使用notifications.sendEmail API 方法,或在user 表中查询proxied_email 字段,并通过Facebook's Email Proxy 系统向他们发送电子邮件。
【讨论】:
编辑:这随着更新的 Graph API 的权限系统而改变。用户现在可以选择使用代理邮件地址,但默认情况下它似乎会显示真实的电子邮件。
Facebook 的 API 调用永远不会泄露用户的电子邮件地址。
即使用户明确授予您向他们发送电子邮件的权限,它也是一个不会透露其真实地址的代理电子邮件地址 - 例如apps+###########.#########.######################@proxymail.facebook.com。
详情请见http://wiki.developers.facebook.com/index.php/Proxied_Email。
【讨论】:
我认为您无法通过 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/
【讨论】:
该功能可用,新的 facebook ios sdk 具有扩展权限,您可以在用户登录时声明权限以授予访问权限,当授予访问权限时,我们可以访问他们的电子邮件 ID,
这样的,我已经取了,
_permissions = [[NSArray arrayWithObjects:
@"publish_stream",@"email", @"offline_access",nil] retain];
NSString *emailUsr = [result objectForKey:@"email"];
现在您可以获得 Facebook 用户电子邮件。
【讨论】: