美好的一天,
我正在使用我自己的日历应用程序进行编码或基本编码,并且我想将我的Outlook日历或sync
我的Outlook中的事件添加到我自己的日历中。
这可能吗?如果是
我是否可以使用任何好的PHP
插件来执行此类操作。
如果否
你能解释一下为什么,我能否知道一些替代方案或更好的解决方案来解决我的问题。 ?
谢谢。
答案 0 :(得分:1)
您熟悉PHP COM对象吗?像下面这样的东西是理想的:
<?php
/**
* This example uses COM() to Access Appointments
* Requires Windows, Outlook
*
* @author justin DOT carlson AT gmail DOT com
* @license none/free - sample code
**/
// define appointments array
$appointments = array();
// folder types (calendar, etc)
define('olFolderDeleted', 3);
define('olFolderOutbox', 4);
define('olFolderSent', 5);
define('olFolderInBox', 6);
define('olFolderCalendar', 9);
define('olFolderContacts', 10);
define('olFolderJournal', 11);
define('olFolderNotes', 12);
define('olFolderTasks', 13);
define('olFolderDrafts', 16);
// start instance
$outlook = new COM("Outlook.Application");
$namespace = $outlook->getNameSpace("MAPI");
$namespace->Logon();
// get calendar folder
$calendar = $namespace->GetDefaultFolder(olFolderCalendar);
// gather, sort, and configure entries
$entries = $calendar->Items;
$entries->Sort("[Start]");
$entries->IncludeRecurrences = True;
// search filter, change these YYYY/MM/DD values for your date range
$search = '[Start] >= "YYYY/MM/DD 12:00 am" AND [Start]<= "YYYY/MM/DD 11:59 pm"';
// find entries
$schedule = $entries->Find($search);
while ( ! is_null($schedule) ) {
$appointment = array();
$appointment['allday'] = $schedule->AllDayEvent;
$appointment['subject'] = $schedule->Subject;
$appointment['hours'] = ($schedule->Duration / 60);
$appointment['location'] = $schedule->Location;
$appointment['subject'] = $schedule->Subject;
$appointment['body'] = $schedule->Body;
$appointment['categories'] = $schedule->Categories;
$appointment['start'] = date('m/d/Y h:i:s a', variant_date_to_timestamp($schedule->Start));
$appointment['end'] = date('m/d/Y h:i:s a', variant_date_to_timestamp($schedule->End));
$appointment['stamp'] = variant_date_to_timestamp($schedule->Start);
$appointments[] = $appointment;
$schedule = $entries->FindNext();
}
// $appointments now contains your entries, enjoy!
?>