krayin/krayin-google-integration

Krayin Google Integration

Maintainers

👁 Jitendra Singh

Package info

github.com/krayin/krayin-google-integration

Language:Blade

pkg:composer/krayin/krayin-google-integration

Statistics

Installs: 2 337

Dependents: 0

Suggesters: 0

Stars: 29

Open Issues: 23

v2.0.1 2024-09-27 10:24 UTC

Requires

Requires (Dev)

None

Suggests

None

Provides

None

Conflicts

None

Replaces

None

MIT 0fd25fff5fcd6ba65a75417d38bb8456f37ae4b3

  • Jitendra Singh <jitendra.woop@webkul.com>

This package is auto-updated.

Last update: 2026-06-27 13:58:13 UTC


README

1. Introduction:

Krayin Google Integration.

It packs in lots of demanding features that allows your business to scale in no time:

  • Admin user can connect to their google account.
  • User can fetch all events from selected calendars
  • Support two-way synchronization for events
  • Support real time event synchronization
  • User can create google meet link directly from activity form

2. Requirements:

  • Krayin: v2.0.0 or higher.

3. Installation:

  • Go to the root folder of Krayin and run the following command
composer require krayin/krayin-google-integration
  • Run these commands below to complete the setup
php artisan migrate
php artisan route:cache
php artisan vendor:publish --force

-> Search GoogleServiceProvider navigate to it and then press enter to publish all assets and configurations.

4. Configuration:

  • Goto routes/breadcrumbs.php file and add following lines
Breadcrumbs::for('google.calendar.create', function (BreadcrumbTrail $trail) {
 $trail->parent('dashboard');
 $trail->push(trans('google::app.calendar.index.title'), route('admin.google.index', ['route' => request('route')]));
});

Breadcrumbs::for('google.meet.create', function (BreadcrumbTrail $trail) {
 $trail->parent('dashboard');
 $trail->push(trans('google::app.meet.index.title'), route('admin.google.index', ['route' => request('route')]));
});
  • Goto config/krayin-vite.php file and add following lines
<?php

return [
 'viters' => [
 // ...

 'google' => [
 'hot_file' => 'google-vite.hot',
 'build_directory' => 'google/build',
 'package_assets_directory' => 'src/Resources/assets',
 ],
 ],
];
  • Goto .env file and add following lines
GOOGLE_CLIENT_ID=
GOOGLE_CLIENT_SECRET=
GOOGLE_REDIRECT_URI="${APP_URL}/google/oauth"
GOOGLE_WEBHOOK_URI="${APP_URL}/google/webhook"
  • Goto config/services.php file and add following lines
return [
 // ...
 
 'google' => [
 // Our Google API credentials.
 'client_id' => env('GOOGLE_CLIENT_ID'),
 'client_secret' => env('GOOGLE_CLIENT_SECRET'),
 
 // The URL to redirect to after the OAuth process.
 'redirect_uri' => env('GOOGLE_REDIRECT_URI'),
 
 // The URL that listens to Google webhook notifications (Part 3).
 'webhook_uri' => env('GOOGLE_WEBHOOK_URI'),
 
 // Let the user know what we will be using from his Google account.
 'scopes' => [
 // Getting access to the user's email.
 \Google_Service_Oauth2::USERINFO_EMAIL,
 
 // Managing the user's calendars and events.
 \Google_Service_Calendar::CALENDAR,
 ],
 
 // Enables automatic token refresh.
 'approval_prompt' => 'force',
 'access_type' => 'offline',
 
 // Enables incremental scopes (useful if in the future we need access to another type of data).
 'include_granted_scopes' => true,
 ],
];
  • Goto app/Http/Middleware/VerifyCsrfToken.php file and add following line under $except array
protected $except = [
 // ...
 'google/webhook',
];
  • Goto app/Console/Kernel.php file and update the schedule function with the following lines
protected function schedule(Schedule $schedule)
{
 $schedule->job(new \Webkul\Google\Jobs\PeriodicSynchronizations())->everyFifteenMinutes();
 $schedule->job(new \Webkul\Google\Jobs\RefreshWebhookSynchronizations())->daily();
}

5. Clear Cache:

php artisan cache:clear

php artisan config:cache

That's it, now just execute the project on your specified domain.