谷歌日历API中的新功能, 写在下面的代码,用于使用谷歌API发送邀请。
<?
require_once 'Zend/Loader.php';
Zend_Loader::loadClass('Zend_Gdata');
Zend_Loader::loadClass('Zend_Gdata_Calendar');
$setsummary="setsummary";
$setLocation="setLocation";
$event = new Google_Event();
$event->setSummary($setsummary);
$event->setLocation($setLocation);
$start_date=date();
$start = new Google_EventDateTime();
$start->setDateTime($start_date);
$event->setStart($start);
$end_date=date();
$end = new Google_EventDateTime();
$end->setDateTime($end_date);
$event->setEnd($end);
$event->sendNotifications=true;
$attendee1 = new Google_EventAttendee();
$attendee1->setEmail('xyz@gmail.com');
$attendee2 = new Google_EventAttendee();
$attendee2->setEmail('xyzx@gmail.com');
$attendees = array($attendee1,$attendee2);
$event->attendees = $attendees;
$opt= array ("sendNotifications" => true);
$createdEvent = $cal->events->insert('********calendar id***********', $event, $opt);
?>
但遗憾的是它没有发送邀请。 我错过了什么? 我只是想发送邀请函到xyz@gmail.com
答案 0 :(得分:3)
不要使用Zend,请使用Google php客户端库。以下代码经过全面测试https://github.com/google/google-api-php-client
转到控制台并创建项目
https://console.developers.google.com
<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);
//if (!isset($_SESSION['access_token']) {
// session_start();
//}
// If you've used composer to include the library, remove the following line
// and make sure to follow the standard composer autoloading.
// https://getcomposer.org/doc/01-basic-usage.md#autoloading
require_once 'google-api-php-client/autoload.php';
$client_id = "client_id";
$client_email = 'client_email';
$private_key = file_get_contents('Project-e7659df9db10.p12');
$scopes = array('https://www.googleapis.com/auth/calendar');
$credentials = new Google_Auth_AssertionCredentials(
$client_email,
$scopes,
$private_key
);
$client = new Google_Client();
$client->setAssertionCredentials($credentials);
if ($client->getAuth()->isAccessTokenExpired()) {
$client->getAuth()->refreshTokenWithAssertion();
}
//print_r($client->getAuth());
$service = new Google_Service_Calendar($client);
$event = new Google_Service_Calendar_Event();
$event->setSummary('Interview');
$event->setLocation('Dell');
$event->sendNotifications=true;
$start = new Google_Service_Calendar_EventDateTime();
$start->setDateTime('2015-02-14T10:00:00.000-07:00');
$event->setStart($start);
$end = new Google_Service_Calendar_EventDateTime();
$end->setDateTime('2015-02-14T11:00:00.000-07:00');
$event->setEnd($end);
$attendee1 = new Google_Service_Calendar_EventAttendee();
$attendee1->setEmail('some@someone.com');
// ...
$attendees = array($attendee1,
// ...
);
$event->attendees = $attendees;
$sendNotifications = array('sendNotifications' => true);
$createdEvent = $service->events->insert('primary', $event, $sendNotifications);
echo $createdEvent->getId();
?>