Tutorial untuk membuat event ke google calendar https://github.com/spatie/laravel-google-calendar
1. Installation Spatie Laravel
Anda dapat menginstal paket melalui komposer:
composer require spatie/laravel-google-calendar Anda harus menerbitkan konfigurasi dengan perintah ini:
php artisan vendor:publish --provider="Spatie\GoogleCalendar\GoogleCalendarServiceProvider"command diatas akan membuat file bernama google-calendar.php di direktori config anda dengan konten berikut:
return [
'default_auth_profile' => env('GOOGLE_CALENDAR_AUTH_PROFILE', 'service_account'),
'auth_profiles' => [
'service_account' => [
'credentials_json' => storage_path('app/credentials/google-calendar-credentials.json'),
],
'oauth' => [
'credentials_json' => storage_path('app/credentials/google-calendar/oauth-credentials.json'),
'token_json' => storage_path('app/credentials/google-calendar/oauth-token.json'),
],
],
'calendar_id' => env('GOOGLE_CALENDAR_ID'),
'user_to_impersonate' => env('GOOGLE_CALENDAR_IMPERSONATE'),
];
kemuadian tambahkan konfigurasi di file .env
GOOGLE_CALENDAR_AUTH_PROFILE=service_accountGOOGLE_CALENDAR_ID=emailid@gmail.com
2. Setting Google Console
Hal pertama yang perlu Anda lakukan adalah mendapatkan kredensial untuk menggunakan API Google. Saya berasumsi bahwa Anda telah membuat akun Google dan masuk. Buka Google Console API dan klik "Pilih proyek" di header.
Anda dapat memilih projek (2), atau membuat project baru (1), seperti terlihat pada gambar dibawah ini
kemudian pilih "ENABLE APPS AND SERVICES".
Kemudian Pilih "Google Calendar API".
Kemudian klik tombol "Enable".
Kemudian, membuat Credetial.
Pilih Credential Service Account.
Masukan Service Account, kemudian klik tombol DONE,
kemudianklik tombol icon edit seprti pada gambar diatas.
kemudian pilih JSON, lalu klik tombol Create.
Setelah itu maka secara otomatis akan mendownload file JSON, simpanlah file tersebut. kemudian copy file tersebut kedalam project anda pada directory /storage/app/credentials/google-calendar-credentials.json.
3. Setting Account Google Calendar
Langkah selanjutnya masuk ke aplikasi google calendar anda https://calendar.google.com. lalu klik tombol setting.
kemudian klik tombol ADD PEOPLE,
kemudian tambahkan email dari credential yang tadi anda buat, seperti pada gambar dibawah ini.
kemudian scroll ke bawah ke bagian "Integrasikan kalender" untuk melihat id kalender.

Anda perlu menambahkan id tersebut ke file konfigurasi ".env".
GOOGLE_CALENDAR_ID=xxxx@gmail.com
4. Create Application
Selanjutnya kita akan membuat contoh aplikasi untuk push event calendar. seperti pada script dibawah.
<?php
namespace App\Console\Commands;
use Carbon\Carbon;
use Illuminate\Console\Command;
use Spatie\GoogleCalendar\Event;
class Test extends Command
{
protected $signature = 'test:test';
protected $description = 'Test';
public function __construct(){
parent::__construct();
}
public function handle(){
$this->info('TEST GOOGLE CALENDAR ...');
Event::create([
'name' => 'A new event3',
'startDateTime' => Carbon::now(),
'endDateTime' => Carbon::now()->addHour(),
]);
}
}
kemudian test pada terminal dengan perintah sbb: php artisan test:test,
kemudian cek di akun google calendar anda apakah event yang anda buat tadi sudah masuk ke akun calendar anda?
5. Share google calendar ke akun lain
langkah pertama masuk ke akun google calendar anda. kemudian klik tombol setting kemudian klik tombol "ADD PEOPLE AND GROUP".
kemudian masukan akun email yang akan anda share.
setelah itu di akun tujuan tinggal melakukan approval yang masuk pada email. kemudian di akun tujuan harus melakukan subscribe seperti pada gambar dibawah
Selesai.
Tidak ada komentar:
Posting Komentar