在外部网站上验证Facebook好友

时间:2009-08-21 23:03:57

标签: facebook

我有兴趣使用Facebook作为一种方式来验证某人是我在外部网站上的朋友,并在此基础上向他们展示特殊内容。

在Facebook内部,请考虑以下情况:

  1. 我发布照片并仅授予朋友许可
  2. 有人试图通过网址查看我的照片
  3. 如果那个人是我的朋友,Facebook会显示这些照片。
  4. 我想在我自己的个人网站上模仿这种行为:

    1. 用户关注“私人”内容的链接
    2. 我的网站(服务器端,JS,Ajax,iframe等)询问Facebook是否有人在浏览器中登录Facebook。
    3. 如果没有,将向用户显示Facebook弹出窗口以进行登录。
    4. 当用户登录时,我的网站会询问Facebook他们是否是我的朋友(ID编码到网站中),如果是,请向他们提供内容
    5. 这是否可以在不要求用户“授权”我的网站或应用程序的情况下实现?我唯一的想法(基于http://wiki.developers.facebook.com/index.php/Authorizing_Applications)是我可以为我的网站创建一个应用程序,然后在外部网站上,将我的Facebook应用程序加载到隐藏的iframe中(这将依次加载我的网站在iframe中)给我的网站提供Facebook用户ID并将其存储在会话中。

      实现这一目标的最佳方法是什么?

1 个答案:

答案 0 :(得分:1)

是的,这应该是可能的。您必须使用Facebook Connect。基本流程将如上所述:

  1. 您网站上的用户点击链接 私人内容。这个内容是 使用所有者的Facebook Id标记在您的数据库中(或其他)。
  2. 您的网站使用Facebook API 检查访问者是否已登录 进入Facebook。如果没有,否认 访问。
  3. 如果他们已登录,您可以 使用friends.areFriends API方法 比较访问者的Facebook ID 与内容所有者的Facebook ID。如果他们不是朋友,那就否认 访问,否则你可以显示它。
  4. 尽管可怕的文档难以理解,但Facebook Connect实际上相当容易实现。一旦启动并运行,它基本上意味着您登录到Facebook的任何访问者都将为您提供会话密钥,您可以使用该密钥查询Facebook以获取有关它们的信息。