2013-03-25 5 views
1

나는 다음과 같은 코드로 내 페이스 북 팬 페이지 (총 7 페이스 북 페이지를) 가져 페이스 북 그래프 API를 사용PHP : 캐싱 페이스 북 그래프 API 결과

<?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 작업을 사용할 수 없다면 어떻게해야합니까? (네, 웹 서버는 리눅스 기반입니까?)

나의 현재 계획은 다음과 같습니다

  1. 예,
  2. 를 캐시 파일을로드하는 경우 출력 페이지가로드, PHP 스크립트에 대한 AJAX 호출에를 만들기 위해 연기 자바 스크립트를 사용하여 캐시 파일을 확인

    Facebook에서 업데이트 된 콘텐츠를 가져 와서 캐시 파일에 저장하십시오.

많은 사용자가 출력 페이지를 방문하면 캐시가 여러 번 새로 고침됩니다. 내 Facebook 페이지의 마지막 업데이트 시간을 확인하려면 어떻게합니까? 내용이 같으면 캐시가 새로 고쳐지지 않습니다.

참고 : 제 질문은 PHP에서 JSON/Array를 구문 분석하지 않습니다.

답변

0

최종 해결책은 cronjob에 의해 주기적으로 실행되는 PHP 스크립트로 Facebook API를 호출하는 것입니다.

까다로운 부분은 페이스 북 토큰 교환을 사용하여 페이스 북에서 절대로 만료되지 않는 정적 토큰을 얻는 것입니다. 이는 페이스 북 토큰 교환을 사용하여 시간을 절약하고 새 토큰을 요청하지 못하도록하며, 사용자 계정으로 로그인 할 필요가 없습니다.

관련 문제