Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

send invitation using google calendar API in php

Am new in google calendar API, Written below code for sending invitation using google 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('[email protected]');
$attendee2 = new Google_EventAttendee();
$attendee2->setEmail('[email protected]');
$attendees = array($attendee1,$attendee2);
$event->attendees = $attendees;      
$opt= array ("sendNotifications" => true);
$createdEvent = $cal->events->insert('********calendar id***********', $event, $opt);      
?>

but unfortunately it is not sending invitation. what I have missed in this? I just want to simply send invitation to [email protected]

like image 348
user2978760 Avatar asked Feb 03 '14 08:02

user2978760


1 Answers

Do Not use Zend, Use Google php client lib . Below code is fully tested https://github.com/google/google-api-php-client

Go to console and create a project

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('[email protected]');


// ...
$attendees = array($attendee1,
                   // ...
                  );
$event->attendees = $attendees;
$sendNotifications = array('sendNotifications' => true);
$createdEvent = $service->events->insert('primary', $event, $sendNotifications);

echo $createdEvent->getId();
?>
like image 94
Suneel Kumar Avatar answered Dec 31 '22 20:12

Suneel Kumar