grinsteindavid/google-calendar

管理Google日历上的事件

1.0.1 2018-06-22 05:18 UTC

This package is not auto-updated.

Last update: 2024-09-29 05:08:24 UTC


README

此包使使用Google日历变得轻松。

特性

  • 使用更少的代码管理任意数量的日历及其事件

要求

  • https://console.developers.google.com 获取Google日历API的credentials.json(作为服务)
  • credentials.json目录应位于名为"GOOGLE_CALENDAR_CREDENTIALS"的环境变量中(例如:GOOGLE_CALENDAR_CREDENTIALS=/home/ubuntu/credentials.json)

安装

您可以通过composer安装此包

composer require grinsteindavid/google-calendar

使用方法

use GrinsteinDavid\GoogleCalendar\Calendar;
use GrinsteinDavid\GoogleCalendar\Event;

$calendar = new Calendar();
$calendar->summary = 'Summer';
$calendar->save();

$event = new Event($calendar->id);
$event->timeZone = "America/New_York";
$event->summary = 'First Event';
$event->startDateTime = date("Y-m-d H:i:s", strtotime('+1 hours'));
$event->endDateTime = date("Y-m-d H:i:s", strtotime('+4 hours'));
$event->save();

foreach ($calendar->events() as $event) {
    $event->description = 'Hottest summer!';
    $event->save(); // UPDATED BY ATTRS

    $event->update([  // UPDATED BY PARAMS
    	'description' => 'Hottest summer!'
    ]);
}

$calendar2 = new Calendar($calendarId);

$events = $calendar2->events();

$event = new Event($calendar2->id, $calendar2->events[0]->id);
$event->organizerEmail = 'example1@email.com';
$event->organizerName = "David Miranda Grinstein";
$event->guestsCanInviteOthers = true;
$event->guestsCanModify = true;
$event->guestsCanSeeOtherGuests = true;
$event->anyoneCanAddSelf = true;
$event->attendees = [
    [
        'email' => 'example1@email.com',
        'displayName' => 'example 1'
    ],
    [
        'email' => 'example2@email.com',
        'displayName' => 'example 2'
    ]
];
$event->save();


array_push($event->attendees, [
    'email' => 'example3@email.com',
    'displayName' => 'example 3'
]);

$event->save();