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/配列の解析に関するものではありません。

4

1 に答える 1

0

私の最後の解決策は、cronjobによって定期的に実行されるPHPスクリプトを使用してFacebookAPIを呼び出すことです。

トリッキーな部分は、Facebook Token Exchangeを使用してFacebookから有効期限のない静的トークンを取得することです。これにより、新しいトークンを要求する時間を節約し、ユーザーアカウントでログインする必要がなくなります。

于 2013-10-09T09:37:39.920 に答える