谷歌日历/ PHP新手问题
我一直在寻找信息通过谷歌日历API,Zend文档,在这里,几乎所有我发现似乎对我已经了解PHP的假设,所以我只是越来越迷失。我确实有很多编程经验......有......这是FORTH变体。无论如何!我试图将可用于从日历事件中获取所有重要数据的PHP脚本的输出传递给FORTH变体。是什么促使我走上困境,是因为我无法弄清楚如何抓取像邮件的UID这样简单的东西。这里就是我的工作:谷歌日历/ PHP新手问题
function outputCalendar($client)
{
$gdataCal = new Zend_Gdata_Calendar($client);
$eventFeed = $gdataCal->getCalendarEventFeed();
foreach ($eventFeed as $event) {
echo $event->title->text . " (" . $event->id->text . ")\n";
foreach ($event->when as $when) {
echo $when->startTime . "\n";
}
}
}
这是基于关闭示例代码,他们给了我,而不是与像例如XML标签的格式,只是把每一个在其自己的新行(这是我更容易拉进其他语言)
现在,我尝试添加echo $when->startTime . "\n";
的循环,但它只是告诉我:
Fatal error: Uncaught exception 'Zend_Gdata_App_InvalidArgumentException' with message 'Property uid does not exist' in /var/mucktools/Zend/Gdata/App/Base.php:484
所以,很显然,我会约抢夺用错了方式。现在,这是事情。这两条线:
echo $event->title->text . " (" . $event->id->text . ")\n";
echo $when->startTime . "\n";
...正在从事件中提取数据。但是,'标题'。 '文本','startTime'都看起来像是从后面拉出来的东西。我知道,认知上,这不可能是真实的。这里有一个图书馆和一个API。但是我想知道在哪里可以找到我可以从$ event中抽出的所有废话的列表,以及语法是如何实现的。谁能帮我这个?
在你问之前,是的,我有一个非常好的理由来抓住PHP脚本的输出并将其填充到一个不起眼的FORTH变体中。不,没有别的方法不会比这个更复杂。我在这里完成了作业。
我确定您已阅读documentation for Zend Gdata。它告诉你,你需要提供一个Zend_Gdata_Query对象的getCalendarEventFeed(),否则我认为你只是获取公共数据。然后
您的代码应该是这个样子: -
$service = Zend_Gdata_Calendar::AUTH_SERVICE_NAME;
$user = "[email protected]";
$pass = "userpassword";
$client = Zend_Gdata_ClientLogin::getHttpClient($user, $pass, $service);
$gDataCal = new Zend_Gdata_Calendar($client);
$query = $gDataCal->newEventQuery();
$query->setVisibility('private');
$query->setProjection('full');
$query->setOrderby('starttime');
$query->setFutureevents('true');
$eventFeed = $gDataCal->getCalendarEventFeed($query);
foreach ($eventFeed as $event) {
echo $event->title . " (" . $event->id . ")\n";
foreach($event->when as $when){
echo $when->startTime . "\n";
}
}
希望这应该让你在正确的方向开始。
此外,php_openSSL模块必须在PHP中启用才能正常工作,但我认为您已经启用了远程操作。