Есть ли простой способ связать события TO в моем календаре Google? - PullRequest
2 голосов
/ 29 января 2010

Я перевожу веб-сайт моей библиотеки из веб-календаря в календарь Google. Сайт написан на PHP и HTML4.01 (переход от строгого к переходному). Есть ли программный способ, которым я могу генерировать ссылки на календарные дни / записи? С вебкалом ссылка на дневной обзор была:

www.mylibrary.com/calendar/day.php?YYYYMMDD

И поэтому было легко программно сгенерировать ссылку на определенный день. Я пытался найти способ сделать подобные вещи с календарем Google, и мне не повезло. Я бы очень хотел иметь возможность сделать что-то вроде

<p>The summer reading program kicks off <a href="
<?php echo "http://www.google.com/calendar/event?cid=".$mycalenderid."&eventdate=".$year.$month.$day; ?>
">May 5th</a></p>

Возможно ли это хотя бы отдаленно?

Ответы [ 3 ]

1 голос
/ 29 января 2010

Возможно, это не то «простое» решение, на которое вы надеялись, но Zend Framework имеет компонент gdata , который может делать то, что вы хотите.

0 голосов
/ 02 февраля 2010

Гораздо более простое решение:

if($_REQUEST['showday']!='') {$datetoshow=$_REQUEST['showday'];
$datetoshow = $datetoshow."/".$datetoshow;}

Бла-бла содержание страницы

if ($datetoshow==""){?>
<iframe srtc=""> .... // regular embed text goes here.
<?} else {?>
<iframe src=""> // Add &amp;mode=DAY&amp;dates=<?echo $datetoshow;?> to the SRC code
<?}

Тогда это так же просто, как вызвать страницу w / day.php? Showday = 20100205 или любой другой день, который я хочу. Спасибо за все предложения, хотя!

0 голосов
/ 29 января 2010

Самый простой способ включить календарь на свой сайт - это использовать предоставляемый Google встраиваемый календарь: http://code.google.com/apis/calendar/publish/. Плюс в том, что все, что вам нужно сделать, это вставить код iframe на страницу и дать ссылку на него. Недостатком является то, что, насколько я могу судить, нет механизма для привязки к определенному дню или событию.

Чтобы сделать что-то похожее на то, что вы просите, вам нужно использовать компонент zend Gdata и запрограммировать его самостоятельно. Итак, для days.php вы можете сделать что-то похожее на:


<?php
/**
 * Adapted from google API doc example
 */
$day = $_GET['day'];
$nextDay = date('Y-m-d', strtotime($day) + 86400);

$client = new Zend_Gdata_Calendar(); //Not authenticated for public calendar

$query = $gdataCal->newEventQuery($client);
$query->setUser('user@example.com');
$query->setVisibility('public');
$query->setProjection('full');
$query->setOrderby('starttime');
$query->setStartMin($day); //Inclusive
$query->setStartMax($nextDay); //Exclusive
$eventFeed = $gdataCal->getCalendarEventFeed($query);

?>
<h1>
  <?php print $day; ?>
</h1>
<ul id="days-events">
  <?php foreach ($eventFeed as $event): ?>
    <li class="event">
      <?php print $event->title->text ?>
    </li>
  <?php endforeach; ?>
</ul>

Документация Google: http://code.google.com/apis/calendar/data/1.0/developers_guide_php.html

Zend Документация: http://framework.zend.com/manual/en/zend.gdata.calendar.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...