У меня есть работающий PHP скрипт, который показывает события со страницы в фейсбуке. Проблема в том, что отображается только последнее добавленное событие. Это событие еще не началось. Все другие события в прошлом не показываются для некоторого reasen. Есть идеи почему? Я хотел бы показать ВСЕ события, в том числе в прошлом.
<?php
require 'facebook-api/src/facebook.php';
date_default_timezone_set('Europe/Amsterdam');
$facebook = new Facebook(array(
'appId' => '*APP-ID*',
'secret' => '*SECRET-KEY*',
'cookie' => true, // enable optional cookie support
));
try{
$events=$facebook->api('/*PAGE-ID*/events?access_token=*ACCES-TOKEN*');
}catch (FacebookApiException $e){
error_log($e);
}
foreach ($events["data"] as $event){
$startTime=strtotime($event["start_time"]);
try{
$ev=$facebook->api('/'.$event["id"]);
}catch (FacebookApiException $e){
error_log($e);
}?><h2 class="head2"><?php echo $event['name']; ?></h2>
<img src="https://graph.facebook.com/<?php echo $event["id"]; ?>/picture?type=large" width="300">
<p><b>Description:</b> <br><?php echo substr( $ev["description"] ,0,250);?></p><br>
<b>When:</b> <br><?php echo date("l jS \of F Y",strtotime($event["start_time"])); ?><br><br>
<b>Time:</b> <br><?php echo date("h:i A",strtotime($event["start_time"])); ?> - <?php echo date("h:i A",strtotime($event["end_time"])); ?><br><br>
<?php
}
?>
Попробуй это
if ((time()-$startTime)<=60*60*24*365 || $startTime>time()){
try{
$ev=$facebook->api('/'.$event["id"]);
}catch (FacebookApiException $e){
error_log($e);
}?>
Укажите диапазон дат. Смотрите документацию datetimediff php http://php.net/manual/en/datetime.diff.php а также проверить статью dateinterval http://ca2.php.net/manual/en/dateinterval.format.php
Других решений пока нет …