2013-01-07 42 views
2

我有一个工作脚本,它在我的Google日历中创建事件 - 使用google-api-php-client。我想一个小工具添加到它用下面的代码创建的每个事件:使用google-api-php-client创建带有小工具的Google日历事件

require_once "google-api-php-client/src/Google_Client.php"; 

require_once "google-api-php-client/src/contrib/Google_CalendarService.php"; 

define('CLIENT_ID', 'xxx...'); 

define('SERVICE_ACCOUNT_NAME', 'xxx...'); 

define('KEY_FILE', 'xxx...'); 

$client = new Google_Client(); 

$client->setApplicationName("WEB ACCTION"); 

$key = file_get_contents(KEY_FILE); 

$client->setAssertionCredentials(new Google_AssertionCredentials(SERVICE_ACCOUNT_NAME,'xxx...',$key)); 

$client->setClientId(CLIENT_ID); 

$service = new Google_CalendarService($client); 

$event = new Google_Event(); 

$event->setSummary($variable1); 

$event->setLocation($variable2 . ", " . $variable3); 

$start = new Google_EventDateTime(); 

$start->setDateTime(date(DATE_ATOM, strtotime($variable4) + $time_offset)); 

$event->setStart($start); 

$end = new Google_EventDateTime(); 

$end->setDateTime(date(DATE_ATOM, strtotime($variable5) + $time_offset)); 

$event->setEnd($end); 

//The not working section 

//$gadget = new Google_EventGadget();   
//$gadget->setIconLink('xxx...'); 
//$gadget->setTitle('xxx...'); 
//$gadget->setHeight('xxx...'); 
//$gadget->setWidth('xxx...'); 
//$gadget->setLink('xxx...'); 
//$gadget->setType('xxx...'); 
//$gadget->setDisplay('xxx...'); 
//$event->setGadget($gadget); 

$createdEvent = $service->events->insert($g_calendar , $event); 

不幸的是 - 我不能让它工作,我是不是能够找到的有关创建与谷歌小工具的任何信息-API-PHP客户端。该库包括一个Google_EventGadget类和setGadget函数,但没有信息如何使用它。任何人都可以帮我吗?

回答

0

我找到了解决方案 - 它发生的情况是,google-api-php-client仅支持认证链接到小工具及其图标。直到我使用https:// www ...链接时,它才工作。

它工作正常,即使我用于测试的主机没有安全证书。

$gadget->setIconLink('https://www...'); 

$gadget->setLink('https://www....'); 

$gadget->setDisplay('chip'); 

$gadget->setWidth('400'); 

$gadget->setHeight('100'); 

$event->setGadget($gadget); 

$createdEvent = $service->events->insert($g_calendar , $event); 

希望它能为别人节省一些时间!