繁体   English   中英

使用api为Google日历设置谷歌活动提醒

[英]Set google event reminders with api for Google Calendar from php

我有一个脚本php用于创建谷歌日历事件。 脚本正常工作,但设置日期错误的功能。

他的剧本

[...initial statements...]
$event = new Google_Event();
$event->setSummary("test");
$event->setLocation("location");
$start = new Google_EventDateTime();
$start->setDateTime(2014-05-01T10:00:00.000-07:00);
$event->setStart($start);
$end = new Google_EventDateTime();
$end->setDateTime(2014-05-01T10:00:00.000-08:00);
$event->setEnd($end);

$reminder = new Google_EventReminders();
$reminder->setUseDefault(false);
$overrides = array("method"=> "popup","minutes" => "15");
$reminder->setOverrides(array($overrides));
$event->setReminders($reminder);

$createdEvent = $service->events->insert('primary', $event);
[...]

在事件创建我有两个提醒电子邮件10分钟和弹出10分钟

这是我如何让我的工作:)

$event = new Google_Event(); //note in the API examples it calls Event(). Apparently, they changed it and didn't update examples.
$event->setSummary($task);
$event->setColorId('4');
$event->setDescription($type);
$event->setLocation($type);
$start = new Google_EventDateTime(); //note in the API examples it calls EventDateTime().
$start->setDateTime($date1);
$event->setStart($start);
$end = new Google_EventDateTime(); //note in the API examples it calls EventDateTime().
$end->setDateTime($date2);
$event->setEnd($end);
$attendee1 = new Google_EventAttendee(); //note in the API examples it calls EventAttendee().
$attendee1->setEmail('myemail@gmail.com'); //make sure you actually put an email address in here

$reminderI = new Google_EventReminder();
$reminderI->setMethod('email');
$reminderI->setMinutes('25');

$reminder = new Google_EventReminders();
$reminder->setUseDefault('false');
$reminder->setOverrides(array($reminderI));
$event->setReminders($reminder);

我花了几分钟搞清楚,试试这个:

$reminders = new Google_Service_Calendar_EventReminders();
$reminders->setUseDefault(false);

$reminder = new Google_Service_Calendar_EventReminder();
$method = empty($v['method']) ? 'email' : $v['method'];
$minute = empty($v['minute']) ? '10' : $v['minute'];
$reminder->setMethod($method);
$reminder->setMinutes($minute);

$reminders->setOverrides(array($reminder));

$targetEvent->setReminders($reminders);

请注意这里$reminders->setOverrides(array($reminder)); 我们需要在调用$reminders->setOverrides时将$reminder放在一个array

我正在使用API​​ V3,我想你正在使用V2。 无论如何,它应该非常相似。

希望这可以帮助。

我认为问题在于:

$overrides = array("method"=> "popup","minutes" => "15");

您实际上是在这里将array包装在array中:

setOverrides(array($overrides));

override应该是Google_Service_Calendar_EventReminder类型的对象。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM