如何将Facebook好友导入网站

Wil*_*nes 8 facebook social-networking

我有一个网站,用户和用户可以互相添加为朋友.最近,我看到很多网络应用程序都有一个功能,你可以将你的朋友从Facebook直接导入他们的网络应用程序.如何实现这种Facebook好友列表的导入?

我查看了Facebook API文档,并且无法直接找到任何指向此的内容.

据推测,我会使用Facebook API来提取用户朋友的列表.从那里,我如何在我的网站上找到该列表成员的用户?这种类型的方案是否仅适用于已经使用Facebook好友搜索的其他用户,以便您可以将Facebook帐户绑定到他们?

在这个主题上似乎没有太多,尽管我已经看到很多网站在做这个,所以任何帮助,无论多么基本,都会非常感激.

Dav*_*vid 28

本中心所需要的基础知识是将您的网站注册为"Facebook应用程序"并使用Graph API.

请查看本页的"使用Facebook登录"部分.基本上,当您注册"应用程序"时,您将拥有一个应用程序ID和一个"应用程序密钥"(这只是一串字符,绝不能公开,或者任何人可以将其作为您的应用程序欺骗).页面上的示例显示了少量用于从您的网站初始化应用程序的JavaScript,此时您可以很好地进行Facebook集成.

正下方是"登录与Facebook"按钮,这是你的用户会用什么来表示他们希望让你的网站访问一些自己的Facebook数据(好友列表中,例如)的例子.您可以高度自定义您的网站在该登录标记内向用户请求的特定权限,并向您的用户显示此类提示,专门请求允许您的网站访问其Facebook数据的权限.

回首这个页面再次(尽管它可能是在其他页面,以及,Facebook的文件改变了很多),非常基本的Facebook的整合向下滚动远一点,你找到一个简单的示例(PHP).示例页面向用户显示"Login with Facebook"按钮,并在单击按钮后重新加载(通过在JavaScript中订阅正确的Facebook API事件).在重新加载时,用户现在具有加密的cookie(假设用户同意权限请求),示例页面可以读取该cookie.

"应用程序密钥"用于解密cookie,其中包含用户的Facebook ID和访问令牌,授权您的站点请求该用户的Facebook信息.使用Graph API请求中的访问令牌将授予您从这些请求接收数据的权限.

图形API请求只是返回JSON数据的GET请求,因此一旦您拥有访问令牌(以及用户ID作为起点),您就可以在任何地方发出此类请求.他们可以在JavaScript中使用客户端(以及使用社交插件和其他Facebook小部件)来"Facebook化"您的用户在您网站上的体验,而不会向您的网站暴露太多(如果有的话)数据或责任.或者可以从后端的服务器端代码发出请求,以便存储请求的数据并在您的站点认为合适时使用它(例如好友列表).

获取好友列表的API请求将是这样的:

https://graph.facebook.com/me/friends?access_token=your_access_token

(但是,您将me路径替换为您希望检索其朋友的用户的Facebook ID,并替换your_access_token为实际访问令牌.假设您已登录Facebook,您自己帐户的示例链接可以可在此页面找到.)

Graph API(顾名思义)在Facebook数据的社交图上向外扩展.任何带有a的JSON对象都id可以在其自己的API请求中请求以查看其更多信息.任何信息你想要的,比如用户的好友的电子邮件地址,将可如果(但愿如此),只有当用户和用户的问题都朋友的权限允许这样做.(对不起,但如果用户的朋友已经明确表示他们的朋友无法授予访问此信息的权限,那么它就不可用.)

因此,一旦您的用户授予您的网站所需的查看其Facebook数据的权限,您就可以收集您想要(并且可以访问)Graph API中可用的任何数据.(我讨厌在那里使用"收获"这个词,但你明白了.当然,负责任地行动.)因此,从任何给定实例中用户的角度来看,你的过程将是:

  1. 要求用户使用Facebook登录,请求特定权限.
  2. 从用户接收这些权限(否则进程在此处结束).
  3. 从服务器代码生成后端Graph API请求,以从用户的Facebook社交图中获取相关信息.
  4. 向用户提供您可以理解的选项(例如匹配电子邮件地址,甚至与您已有的用户匹配的名称),不管您已经拥有的用户(嘿,您的朋友在我们的网站上,您想说吗?你好?)或邀请到你的网站(我们没有你的朋友访问我们网站的记录,点击这里邀请他们!)等.
  5. 然后,用户继续与您的网站在此事中呈现的任何功能进行交互.

合理?正如我所提到的,Facebook上所有这些文档的变化很大(我在写这篇文章的过程中发现了自己网站中的几个死链接).他们的程序化界面也经常发生变化.他们可能会开发更简单的方法来实现这一目标,但是一旦你设置完毕并抽象出Graph API调用以及所有这些,就可以非常简单地将你的站点与Facebook集成.