PHPackages                             vadgab/yii2-google-calendar-api - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [API Development](/categories/api)
4. /
5. vadgab/yii2-google-calendar-api

ActiveYii2-extension[API Development](/categories/api)

vadgab/yii2-google-calendar-api
===============================

The application is a YII2-Extension for the Google Calendar API

1.0(3y ago)07MITPHPPHP &gt;=7.0

Since May 10Pushed 3y ago1 watchersCompare

[ Source](https://github.com/vadgab/yii2-google-calendar-api)[ Packagist](https://packagist.org/packages/vadgab/yii2-google-calendar-api)[ RSS](/packages/vadgab-yii2-google-calendar-api/feed)WikiDiscussions stable Synced 1mo ago

READMEChangelog (1)Dependencies (1)Versions (2)Used By (0)

 [ ![](https://avatars0.githubusercontent.com/u/993323) ](https://github.com/yiisoft)

Yii2 Google Calendar Api Extension
==================================

[](#yii2-google-calendar-api-extension)

Installation
------------

[](#installation)

The preferred way to install this extension is through [composer](http://getcomposer.org/download/):

```
composer require --prefer-dist vadgab/yii2-google-calendar-api

```

Basic information
-----------------

[](#basic-information)

This application operates with Google Calendar Service Account-based authentication, meaning the login process happens in the background. It enables querying, creating, modifying, and deleting calendar-related events for third-party users without the need for authentication in a pop-up window.

Configuration
-------------

[](#configuration)

You will need to create a Service Account in the Google Cloud Console, to which you must grant the appropriate permissions to access the calendar, as well as a authentication key, which you download and place for the application to access, and provide the path to it.

[![image-20230505121456420](./doc/images/image-20230505121456420.png)](./doc/images/image-20230505121456420.png)

[![image-20230505121615217](./doc/images/image-20230505121615217.png)](./doc/images/image-20230505121615217.png)

Basic Usage
-----------

[](#basic-usage)

##### getEvents() - Get event, list

[](#getevents---get-event-list)

> parameters
>
> - Params (opcional) - full param list :

```
use vadgab\Yii2GoogleCalendar\GoogleCalendar;

$serviceAccount = new GoogleCalendar(
            "your_service_email",
            "./../your_downloaded_key.json", array(
            "https://www.googleapis.com/auth/calendar",
            "https://www.googleapis.com/auth/calendar.events"
        )
    );

$serviceAccount->calendarId = "calendarId";  //required
$params = ['timeMin'=>'2020-06-03T10:00:00Z']; //opcional
$serviceAccount->evenId = "eventId"; //opcional
$events = $serviceAccount->getEvents($params);

echo ""; var_dump($events); echo "";
```

##### insertEvent() - Add event on your calendar

[](#insertevent---add-event-on-your-calendar)

> ###### parameters
>
> [](#parameters)
>
> - payload (require) - full param list :

```
use vadgab\Yii2GoogleCalendar\GoogleCalendar;

$serviceAccount = new GoogleCalendar(
            "your_service_email",
            "./../your_downloaded_key.json", array(
            "https://www.googleapis.com/auth/calendar",
            "https://www.googleapis.com/auth/calendar.events"
        )
    );

$serviceAccount->calendarId = "calendarId";  //required
$payload = array(
    'summary' => 'Teszt Event',
    'description' => 'Teszt description',
    'location' => 'Budapest',
    'start' => array('dateTime' => "2023-05-10T10:00:00Z"),
    'end' => array('dateTime' => "2023-05-10T11:00:00Z"),
);

$events = $serviceAccount->insertEvent($payload);

echo "";
var_dump($events);
echo "";
```

> ##### Response
>
> [](#response)
>
> array(18) { \["kind"\]=&gt; string(14) "calendar#event" \["etag"\]=&gt; string(18) ""**"" \["id"\]=&gt; string(26) "tme6m9k9g4p0n6sr48693oq4fo" \["status"\]=&gt; string(9) "confirmed" \["htmlLink"\]=&gt; string(93) "**\*\*\***" \["created"\]=&gt; string(24) "2023-05-05T11:17:57.000Z" \["updated"\]=&gt; string(24) "2023-05-05T11:17:57.483Z" \["summary"\]=&gt; string(11) "Teszt Event" \["description"\]=&gt; string(17) "Teszt description" \["location"\]=&gt; string(8) "Budapest" \["creator"\]=&gt; array(1) { \["email"\]=&gt; string(75) "\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*" } \["organizer"\]=&gt; array(2) { \["email"\]=&gt; string(19) "**" \["self"\]=&gt; bool(true) } \["start"\]=&gt; array(2) { \["dateTime"\]=&gt; string(25) "2023-05-10T12:00:00+02:00" \["timeZone"\]=&gt; string(3) "UTC" } \["end"\]=&gt; array(2) { \["dateTime"\]=&gt; string(25) "2023-05-10T13:00:00+02:00" \["timeZone"\]=&gt; string(3) "UTC" } \["iCalUID"\]=&gt; string(37) "\*\*\*\*\*\*\*\*\*\*\*\*\*\*" \["sequence"\]=&gt; int(0) \["reminders"\]=&gt; array(1) { \["useDefault"\]=&gt; bool(true) } \["eventType"\]=&gt; string(7) "default" }

##### updateEvent() - Add event on your calendar

[](#updateevent---add-event-on-your-calendar)

> ###### parameters
>
> [](#parameters-1)
>
> - payload (require) - full param list :

```
use vadgab\Yii2GoogleCalendar\GoogleCalendar;

$serviceAccount = new GoogleCalendar(
            "your_service_email",
            "./../your_downloaded_key.json", array(
            "https://www.googleapis.com/auth/calendar",
            "https://www.googleapis.com/auth/calendar.events"
        )
    );

$serviceAccount->calendarId = "calendarId";  //required
$serviceAccount->eventId = "eventId";  //required
$payload = array(
    'summary' => 'Teszt Event update',
    'description' => 'Teszt description update',
    'location' => 'Budapest',
    'start' => array('dateTime' => "2023-05-10T10:00:00Z"),
    'end' => array('dateTime' => "2023-05-10T11:00:00Z"),
);
$events = $serviceAccount->updateEvent($payload);

echo "";
var_dump($events);
echo "";
```

> ##### Response
>
> [](#response-1)
>
> array(18) { \["kind"\]=&gt; string(14) "calendar#event" \["etag"\]=&gt; string(18) ""**"" \["id"\]=&gt; string(26) "tme6m9k9g4p0n6sr48693oq4fo" \["status"\]=&gt; string(9) "confirmed" \["htmlLink"\]=&gt; string(93) "**\*\*\***" \["created"\]=&gt; string(24) "2023-05-05T11:17:57.000Z" \["updated"\]=&gt; string(24) "2023-05-05T11:17:57.483Z" \["summary"\]=&gt; string(11) "Teszt Event update" \["description"\]=&gt; string(17) "Teszt description update" \["location"\]=&gt; string(8) "Budapest" \["creator"\]=&gt; array(1) { \["email"\]=&gt; string(75) "\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*" } \["organizer"\]=&gt; array(2) { \["email"\]=&gt; string(19) "**" \["self"\]=&gt; bool(true) } \["start"\]=&gt; array(2) { \["dateTime"\]=&gt; string(25) "2023-05-10T12:00:00+02:00" \["timeZone"\]=&gt; string(3) "UTC" } \["end"\]=&gt; array(2) { \["dateTime"\]=&gt; string(25) "2023-05-10T13:00:00+02:00" \["timeZone"\]=&gt; string(3) "UTC" } \["iCalUID"\]=&gt; string(37) "\*\*\*\*\*\*\*\*\*\*\*\*\*\*" \["sequence"\]=&gt; int(0) \["reminders"\]=&gt; array(1) { \["useDefault"\]=&gt; bool(true) } \["eventType"\]=&gt; string(7) "default" }

##### deleteEvent() - Delete event on your calendar

[](#deleteevent---delete-event-on-your-calendar)

```
use vadgab\Yii2GoogleCalendar\GoogleCalendar;

$serviceAccount = new GoogleCalendar(
            "your_service_email",
            "./../your_downloaded_key.json", array(
            "https://www.googleapis.com/auth/calendar",
            "https://www.googleapis.com/auth/calendar.events"
        )
    );

$serviceAccount->calendarId = "calendarId";  //required
$serviceAccount->eventId = "eventId";  //required
$events = $serviceAccount->deleteEvent();
```

###  Health Score

19

—

LowBetter than 10% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity5

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity39

Early-stage or recently created project

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

1104d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/9f4ce45ea3e7a9241048500bdbbfcfc0a834b8fdc95d0ac51a8b82404b2de17d?d=identicon)[vadgab](/maintainers/vadgab)

---

Top Contributors

[![vadgab](https://avatars.githubusercontent.com/u/22323808?v=4)](https://github.com/vadgab "vadgab (10 commits)")

---

Tags

apiyii2google calendar

### Embed Badge

![Health badge](/badges/vadgab-yii2-google-calendar-api/health.svg)

```
[![Health](https://phpackages.com/badges/vadgab-yii2-google-calendar-api/health.svg)](https://phpackages.com/packages/vadgab-yii2-google-calendar-api)
```

###  Alternatives

[dotzero/yii2-amocrm

Расширение для Yii Framework 2 реализующее клиент для работы с API amoCRM

1639.7k](/packages/dotzero-yii2-amocrm)[skeeks/yii2-google-api

Component for work with google api based on google/apiclient

1243.1k1](/packages/skeeks-yii2-google-api)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
