1

我使用 Facebook Graph API 来获取我的 Facebook 粉丝页面(总共 7 个 Facebook 页面),代码如下:

<?php
header('Content-Type: text/plain; charset=utf-8');
require_once('facebook.php');
$facebook = new Facebook(array(
    'appId'  => 'MY_APP_ID',
    'secret' => 'MY_APP_SECRET',
));

$page_feed_1 = $facebook->api('MY_FB_PAGE_ID_1/feed');
$page_feed_2 = $facebook->api('MY_FB_PAGE_ID_2/feed');
// ... etc
?>

我计划将 JSON 结果缓存到文件中,然后从缓存文件中加载输出页面(显示 Facebook 页面的内容)。但是,如果我不能使用 cron 作业(是的,我的 Web 服务器是基于 Linux 的),我的加载顺序应该是什么?

我目前的计划是:

  1. 当输出页面加载时,检查缓存文件,如果是,加载缓存文件
  2. 使用延迟的 JavaScript 创建对 PHP 脚本的 AJAX 调用,以从 Facebook 获取更新的内容并保存到缓存文件

我现在能想到的问题是,当很多用户访问输出页面时,缓存会刷新很多次。如何查看我的 Facebook 页面的最后更新时间?如果内容相同,则缓存不会刷新。

注意:我的问题不是关于在 PHP 中解析 JSON / Array。

4

1 回答 1

0

我的最终解决方案是使用 PHP 脚本调用 Facebook API,该脚本由 cronjob 定期执行。

棘手的部分是使用 Facebook 令牌交换从 Facebook 获取永不过期的静态令牌,这样可以节省请求新令牌的时间,并且无需使用用户帐户登录。

于 2013-10-09T09:37:39.920 回答