是否可以确定用户的@ Facebook.com电子邮件地址?

时间:2012-11-13 16:30:44

标签: facebook facebook-graph-api facebook-javascript-sdk

是否有可能可靠地弄清楚任何Facebook用户的Facebook电子邮件是什么?我之前知道这是不可能的,因为并非所有用户都有用户名。但我相信自......以后情况发生了变化。

我正试图找出让用户通过我的应用向他们的朋友发送直接消息的方法。请求功能现在非常混乱,因为您无法发送自定义消息,这意味着大多数朋友可能会忽略该请求。

我试图让我的用户发送给他们的朋友的消息类型不会被Facebook视为垃圾邮件,因为这些是直接从用户发送给他们的朋友的消息,除非是通过应用程序完成的。但是,如果消息只是说“Joe想要你试试这个应用程序......那就没有意义了。”Facebook平台上的应用程序的实用性现在变得有问题了。

3 个答案:

答案 0 :(得分:3)

我认为facebook terms and conditions不允许这样做......

  

Facebook消息(即发送到@ facebook.com地址的电子邮件)专为用户之间的通信而设计,而不是应用程序直接与用户通信的渠道。“

尽管你在帖子的末尾有警告我相信facebook会认为这是你的应用给用户的消息。

就您的问题而言,返回的用户数据包括“用户名”,这是您创建电子邮件地址所需的信息。

答案 1 :(得分:0)

  

是否有可能可靠地弄清楚任何Facebook用户的Facebook电子邮件是什么?我之前知道这是不可能的,因为并非所有用户都有用户名。但我相信自......以后情况发生了变化。

是的,现在每个用户都应该设置一个用户名 - 如果不是自己设置的,那么FB将为他们选择一个用户名。

除此之外,我认为写入userid @ facebook也有效。

但我同意组合的答案 - Facebook明确表示这不应该用于app-to-user通信。判断您的案例是否正常取决于您 - 否则您可能会考虑使用“发送”对话框,这更像是让用户“通过”您的应用程序进行沟通的“指定”方式。

答案 2 :(得分:0)

如果你要找的是给他们一个新的消息通知,它就不会起作用。因为,如果您向Facebook电子邮件发送电子邮件,它将落在消息框中的Others文件夹中,就像垃圾邮件箱一样。尝试邮寄您自己的@facebook ID,看看会发生什么。

Facebook并没有提供任何关于如何获取用户@facebook电子邮件的文档,很可能是因为他们不希望开发人员使用它。

为什么不直接邮寄?您可以通过向范围添加email轻松获取电子邮件,也可以轻松捕获电子邮件。

$data = file_get_contents("https://graph.facebook.com/me?access_token=xxxxxx");

$data = json_decode($data,true);

$email = $data['email'];

在你的情况下,这是一个可行的选择吗?