0

脸书连接

我花了几周时间整理了一个使用 Facebook 连接作为身份验证的基本网站。

我研究了提供的示例应用程序“theRunAround”。然而,代码很复杂,并且使用了大量的文件和类,其中大部分都有很多我不需要的功能。我也很好地阅读了文档。

我的代码几乎一直有效。但是,有时我会收到奇怪的、不可预测的错误。

所需功能

  • 检查用户是否已登录 Facebook,如果已登录,则检索 fb_uid、姓名、个人资料图片
  • 返回也连接到此应用程序的朋友列表

有没有比 Facebook 提供的关于这种简单功能的教程更好的教程?

4

2 回答 2

2

我最近使用 facebook 连接技术向Cogenuity添加了朋友通知功能。

首先,您需要在 php 代码中创建 facebook 对象。我假设您已经完成了 facebook 应用程序注册。我发现很多连接到 facebook 的部分都不起作用,但起作用的是这个。

$user = $facebook->require_login();

我发现 FQL 部分工作得很好。

$query = "select uid1 from friend where uid2 = {$user}";
$results = $facebook->api_client->fql_query($query);

我使用了这个 FQL 查询,它可以满足您的需求。

$query = "SELECT name, pic_square, status, about_me FROM user WHERE uid = {$uid}";
$results = $facebook->api_client->fql_query($query);

与 notification_send 方法一样。

$facebook->api_client->notifications_send($notifyTarget, $intro, 'user_to_user');

我希望这有帮助。

于 2009-04-02T16:33:38.793 回答
2

我编写了自己的库来使用 Facebook Connect,因为我发现提供的库非常缺乏。

我无法提供代码,因为它是公司代码,但这里是我需要做的事情的细分。希望您可以使用它并自己轻松填写空白。

  1. 在您的应用程序设置中,配置“连接”选项卡。在我的例子中,“连接 URL”是我的 xd_receiver.htm 文件所在的根文件夹。此外,在“高级”下,我将我的应用程序标记为 Web 应用程序。

  2. 将您的 xd_receiver.htm 文件放在上面指定的根文件夹中。那里有大量关于 xd_receiver.htm 的文档。这是 facebook 在用户登录时点击的内容。它会将 cookie 写入他们的浏览器,您的应用程序稍后可以读取这些 cookie 以进行身份​​验证。

  3. Facebook 设置的 cookie 采用 _ 格式,其中 APIKEY 是您的应用程序 API 密钥,是 cookie 的名称。您将需要 _session_key cookie 来进行进一步的 API 调用。如果未设置此 cookie,则需要显示步骤 4 - 6 中所述的登录按钮。否则跳至步骤 7。

  4. 您需要在您的页面上加载 Facebook javascript 文件,您将拥有 FB 登录按钮。==> http://static.ak.connect.facebook.com/js/api_lib/v0.4/FeatureLoader.js.php

  5. 要显示 FB 登录按钮,请使用: Facebook JS 将自动为您呈现 facebook 登录按钮。它将触发用户登录后您应定义的“facebook_onlogin”方法,以便您可以在他们登录后执行某些操作。

  6. 在上述标记的正下方,您需要调用 FB init javascript 以使其呈现按钮:

    FB.init('您的 API 密钥在这里', '您的 XD_RECEIVER.HTM 文件的绝对路径在这里');
  7. 使用 cookie 中设置的 session_key 进行任何 API 调用。如何进行 API 调用有据可查。


希望这可以帮助。

于 2009-04-02T16:55:35.277 回答