我们已经编写了一个PHP页面,用于构建日历事件的内容。它是电子邮件不同部分(包括说明)的静态和动态内容的组合。当我在Gmail中收到电子邮件时,“添加日历”将显示在电子邮件标题中。还附加了一个.ICS文件。如果我单击“添加到日历”,说明的内容不完整,内容的长度还可以,那不是问题所在。当我在Outlook或Hotmail中打开附件ICS文件时,内容正常。如果我将事件添加到导入ICS的Google日历中,则内容也可以。但是这种方法对我的最终用户来说太复杂了。有什么建议吗?有人已经遇到这个问题了吗?问候
您的问题的解决方案可能是使用Google Calendar API,以便您可以创建日历事件,然后将其添加到用户的日历中。
您应该遵循PHP Quickstart中的步骤以及此处的几个代码段,以创建日历,然后使用Google Calendar API创建事件:
创建日历
$calendar = new Google_Service_Calendar_Calendar();
$calendar->setSummary('your_calendar_summary');
$calendar->setTimeZone('your_time_zone');
$createdCalendar = $service->calendars->insert($calendar);
创建事件(您可以根据自己的喜好自定义参数)
$event = new Google_Service_Calendar_Event(array(
'summary' => 'your_event_summary',
'location' => 'your_event_location',
'description' => 'your_event_description',
'start' => array(
'dateTime' => 'your_start_date',
'timeZone' => 'your_time_zone',
),
'end' => array(
'dateTime' => 'your_date_time',
'timeZone' => 'your_time_zone',
),
'recurrence' => array(
'RRULE:FREQ=DAILY;COUNT=2'
),
'attendees' => array(
array('email' => '[email protected]'),
array('email' => '[email protected]'),
),
'reminders' => array(
'useDefault' => FALSE,
'overrides' => array(
array('method' => 'email', 'minutes' => 24 * 60),
array('method' => 'popup', 'minutes' => 10),
),
),
));
$calendarId = 'primary';
$event = $service->events->insert($calendarId, $event);
printf('Event created: %s\n', $event->htmlLink);
如果您想将Google日历服务与Gmail集成在一起,可以检查以下链接,这些链接可能会对您有所帮助:
此外,您可以在此处阅读有关Calendar API的更多信息: