Làm cách nào để nhận các sự kiện lịch google trong php?

Lịch sự kiện cho phép bạn xử lý các sự kiện hiệu quả hơn và có trải nghiệm người dùng tốt hơn. Thông thường, lịch sự kiện được tích hợp trên trang web để liệt kê các sự kiện theo trình tự thời gian. Nếu ứng dụng trực tuyến của bạn yêu cầu lịch để sắp xếp các sự kiện, bạn có thể dễ dàng tạo một lịch bằng PHP. Lịch Google hiện là phương pháp hiệu quả nhất để tổ chức các hoạt động mà không phải lo lắng. Sử dụng API REST, sự kiện được tạo trong ứng dụng trực tuyến có thể được tải ngay lên Lịch Google

Khả năng đồng bộ hóa với Lịch Google mở rộng khả năng quản lý sự kiện của ứng dụng trực tuyến. Sử dụng API Lịch, bạn có thể thêm các sự kiện vào Lịch Google theo chương trình từ trang web. Với dịch vụ API REST, API Lịch Google giúp việc thêm sự kiện vào Lịch Google trở nên đơn giản. PHP có thể được sử dụng để tích hợp liền mạch tính năng thêm sự kiện trên Lịch Google. Bài viết này sẽ hướng dẫn bạn cách sử dụng PHP để xây dựng sự kiện động trong ứng dụng web và tải sự kiện lên Lịch Google từ trang web

Để thêm sự kiện vào Lịch Google bằng PHP, cần có chức năng sau

- Tạo biểu mẫu HTML để thu thập thông tin sự kiện [tiêu đề, mô tả, địa điểm, ngày và giờ]

- Tạo và lưu trữ dữ liệu sự kiện trong cơ sở dữ liệu

- Từ tập lệnh PHP, thêm sự kiện vào Lịch Google

- Hiển thị tiến trình tạo sự kiện cùng với liên kết đến Lịch Google

Hãy xem cấu trúc tệp trước khi bắt đầu xây dựng tập lệnh PHP để thêm sự kiện vào Lịch Google bằng PHP

google_calendar_add_event_with_php/
├── config.php
├── dbConfig.php
├── index.php
├── addEvent.php
├── google_calendar_event_sync.php
├── GoogleCalendarApi.class.php
└── css/
    └── style.css

Tạo Dự án Google và Bật API Lịch

Google Project là cần thiết để có được các khóa API cần thiết để thực hiện lệnh gọi API tới Lịch Google. Nếu bạn đã có Ứng dụng Google, bạn có thể sử dụng các khóa API từ ứng dụng đó. Chỉ cần đảm bảo rằng API Lịch Google được kích hoạt trong dự án Google đã tồn tại này. Nếu bạn chưa có bất kỳ ứng dụng Google nào, hãy làm theo các bước bên dưới để đăng ký ứng dụng của bạn trên Google Developers Console và lấy khóa API

1. Điều hướng đến Bảng điều khiển API của Google

2. Chọn một dự án hiện có từ danh sách các dự án hoặc nhấp vào DỰ ÁN MỚI để bắt đầu một dự án mới

- Nhập Tên dự án tại đây

- Tại phần Project Name, ID dự án sẽ được tạo tự động. [Tùy chọn] Bạn có thể chỉnh sửa ID dự án này bằng cách nhấp vào nút Chỉnh sửa, nhưng ID này phải là duy nhất trên toàn cầu

- Nhấn nút TẠO

3. Bật dịch vụ API Lịch Google cho dự án mới thành lập

- Chọn Thư viện từ tùy chọn API & Dịch vụ trong thanh bên

- Trong danh sách API, tìm dịch vụ Google Calendar API và chọn Google Calendar API

- Để bật Thư viện API Lịch Google, hãy nhấp vào nút BẬT

4. Chọn Thông tin xác thực từ tùy chọn API & Dịch vụ trong thanh bên


5. Chọn tab màn hình đồng ý OAuth và định cấu hình các tùy chọn màn hình đồng ý

- Nhập tên của ứng dụng

- Chọn một địa chỉ email Hỗ trợ

- Chỉ định các miền được ủy quyền sẽ được phép xác thực bằng cách sử dụng    OAuth

- Lưu bằng cách nhấp vào nút Lưu

6. Chọn tab Thông tin xác thực, sau đó chọn menu thả xuống Thêm thông tin đăng nhập, rồi chọn ID ứng dụng khách OAuth

- Chọn Ứng dụng web trong phần Loại ứng dụng

- Nhập URL chuyển hướng vào khu vực URI chuyển hướng được ủy quyền

- Chọn tùy chọn Tạo

Một hộp thoại với dữ liệu máy khách OAuth sẽ hiển thị; . Bạn có thể sử dụng Client ID và Client secret này để có quyền truy cập vào Google Calendar API

Tạo bảng cơ sở dữ liệu

Để lưu thông tin sự kiện trên máy chủ cục bộ, cần có một bảng trong cơ sở dữ liệu. Trong cơ sở dữ liệu MySQL, SQL bên dưới tạo một bảng hoạt động với một số cột đơn giản

CREATE TABLE `events` [
  `id` int[11] NOT NULL AUTO_INCREMENT,
  `title` varchar[255] COLLATE utf8_unicode_ci NOT NULL,
  `description` text COLLATE utf8_unicode_ci NOT NULL,
  `location` varchar[255] COLLATE utf8_unicode_ci DEFAULT NULL,
  `date` date NOT NULL,
  `time_from` time NOT NULL,
  `time_to` time NOT NULL,
  `google_calendar_event_id` varchar[255] COLLATE utf8_unicode_ci DEFAULT NULL,
  `created` datetime NOT NULL DEFAULT current_timestamp[],
  PRIMARY KEY [`id`]
] ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

Thư viện PHP API Lịch Google

Google cung cấp một thư viện PHP để thực hiện các yêu cầu API Lịch, tuy nhiên, nó cũng bao gồm nhiều dịch vụ bổ sung đi kèm với một số lượng lớn tệp. Để đơn giản hóa quy trình, chúng tôi đã tạo một thư viện tùy chỉnh trong PHP để xử lý lệnh gọi API Lịch Google

Thư viện Google API của chúng tôi cho phép sử dụng PHP để xác thực bằng tài khoản Google và sử dụng API Lịch. Quá trình thêm sự kiện sẽ được xử lý bởi thư viện PHP tùy chỉnh này, thư viện này sẽ sử dụng API Lịch Google v3

- GetAccessToken[] – Sử dụng mã xác thực, truy xuất mã xác thực từ API Google OAuth 2

- GetUserCalendarTimezone[] — Truy xuất múi giờ của người dùng từ cài đặt lịch Google của họ

- GetCalendarList[] – Truy xuất danh sách lịch của người dùng

- CreateCalendarEvent[] – Thêm sự kiện vào lịch Google của người dùng

/** 
 * 
 * This Google Calendar API handler class is a custom PHP library to handle the Google Calendar API calls. 
 * 
 * @class        GoogleCalendarApi 
 * @author        CodexWorld 
 * @link        //www.codexworld.com 
 * @version        1.0 
 */ 
class GoogleCalendarApi { 
    const OAUTH2_TOKEN_URI = '//accounts.google.com/o/oauth2/token'; 
    const CALENDAR_TIMEZONE_URI = '//www.googleapis.com/calendar/v3/users/me/settings/timezone'; 
    const CALENDAR_LIST = '//www.googleapis.com/calendar/v3/users/me/calendarList'; 
    const CALENDAR_EVENT = '//www.googleapis.com/calendar/v3/calendars/'; 
     
    function __construct[$params = array[]] { 
        if [count[$params] > 0]{ 
            $this->initialize[$params];         
        } 
    } 
     
    function initialize[$params = array[]] { 
        if [count[$params] > 0]{ 
            foreach [$params as $key => $val]{ 
                if [isset[$this->$key]]{ 
                    $this->$key = $val; 
                } 
            }         
        } 
    } 
     
    public function GetAccessToken[$client_id, $redirect_uri, $client_secret, $code] { 
        $curlPost = 'client_id=' . $client_id . '&redirect_uri=' . $redirect_uri . '&client_secret=' . $client_secret . '&code='. $code . '&grant_type=authorization_code'; 
        $ch = curl_init[];         
        curl_setopt[$ch, CURLOPT_URL, self::OAUTH2_TOKEN_URI];         
        curl_setopt[$ch, CURLOPT_RETURNTRANSFER, 1];         
        curl_setopt[$ch, CURLOPT_POST, 1];         
        curl_setopt[$ch, CURLOPT_SSL_VERIFYPEER, FALSE]; 
        curl_setopt[$ch, CURLOPT_POSTFIELDS, $curlPost];     
        $data = json_decode[curl_exec[$ch], true]; 
        $http_code = curl_getinfo[$ch,CURLINFO_HTTP_CODE]; 
         
        if [$http_code != 200] { 
            $error_msg = 'Failed to receieve access token'; 
            if [curl_errno[$ch]] { 
                $error_msg = curl_error[$ch]; 
            } 
            throw new Exception['Error '.$http_code.': '.$error_msg]; 
        } 
             
        return $data; 
    } 
 
    public function GetUserCalendarTimezone[$access_token] { 
        $ch = curl_init[];         
        curl_setopt[$ch, CURLOPT_URL, self::CALENDAR_TIMEZONE_URI];         
        curl_setopt[$ch, CURLOPT_RETURNTRANSFER, 1];     
        curl_setopt[$ch, CURLOPT_HTTPHEADER, array['Authorization: Bearer '. $access_token]];     
        curl_setopt[$ch, CURLOPT_SSL_VERIFYPEER, FALSE];     
        $data = json_decode[curl_exec[$ch], true]; 
        $http_code = curl_getinfo[$ch,CURLINFO_HTTP_CODE]; 
         
        if [$http_code != 200] { 
            $error_msg = 'Failed to fetch timezone'; 
            if [curl_errno[$ch]] { 
                $error_msg = curl_error[$ch]; 
            } 
            throw new Exception['Error '.$http_code.': '.$error_msg]; 
        } 
 
        return $data['value']; 
    } 
 
    public function GetCalendarsList[$access_token] { 
        $url_parameters = array[]; 
 
        $url_parameters['fields'] = 'items[id,summary,timeZone]'; 
        $url_parameters['minAccessRole'] = 'owner'; 
 
        $url_calendars = self::CALENDAR_LIST.'?'. http_build_query[$url_parameters]; 
         
        $ch = curl_init[];         
        curl_setopt[$ch, CURLOPT_URL, $url_calendars];         
        curl_setopt[$ch, CURLOPT_RETURNTRANSFER, 1];     
        curl_setopt[$ch, CURLOPT_HTTPHEADER, array['Authorization: Bearer '. $access_token]];     
        curl_setopt[$ch, CURLOPT_SSL_VERIFYPEER, FALSE];     
        $data = json_decode[curl_exec[$ch], true]; 
        $http_code = curl_getinfo[$ch,CURLINFO_HTTP_CODE]; 
         
        if [$http_code != 200] { 
            $error_msg = 'Failed to get calendars list'; 
            if [curl_errno[$ch]] { 
                $error_msg = curl_error[$ch]; 
            } 
            throw new Exception['Error '.$http_code.': '.$error_msg]; 
        } 
 
        return $data['items']; 
    } 
 
    public function CreateCalendarEvent[$access_token, $calendar_id, $event_data, $all_day, $event_datetime, $event_timezone] { 
        $apiURL = self::CALENDAR_EVENT . $calendar_id . '/events'; 
         
        $curlPost = array[]; 
         
        if[!empty[$event_data['summary']]]{ 
            $curlPost['summary'] = $event_data['summary']; 
        } 
         
        if[!empty[$event_data['location']]]{ 
            $curlPost['location'] = $event_data['location']; 
        } 
         
        if[!empty[$event_data['description']]]{ 
            $curlPost['description'] = $event_data['description']; 
        } 
         
        $event_date = !empty[$event_datetime['event_date']]?$event_datetime['event_date']:date["Y-m-d"]; 
        $start_time = !empty[$event_datetime['start_time']]?$event_datetime['start_time']:date["H:i:s"]; 
        $end_time = !empty[$event_datetime['end_time']]?$event_datetime['end_time']:date["H:i:s"]; 
 
        if[$all_day == 1]{ 
            $curlPost['start'] = array['date' => $event_date]; 
            $curlPost['end'] = array['date' => $event_date]; 
        }else{ 
            $timezone_offset = $this->getTimezoneOffset[$event_timezone]; 
            $timezone_offset = !empty[$timezone_offset]?$timezone_offset:'07:00'; 
            $dateTime_start = $event_date.'T'.$start_time.$timezone_offset; 
            $dateTime_end = $event_date.'T'.$end_time.$timezone_offset; 
             
            $curlPost['start'] = array['dateTime' => $dateTime_start, 'timeZone' => $event_timezone]; 
            $curlPost['end'] = array['dateTime' => $dateTime_end, 'timeZone' => $event_timezone]; 
        } 
        $ch = curl_init[];         
        curl_setopt[$ch, CURLOPT_URL, $apiURL];         
        curl_setopt[$ch, CURLOPT_RETURNTRANSFER, 1];         
        curl_setopt[$ch, CURLOPT_POST, 1];         
        curl_setopt[$ch, CURLOPT_SSL_VERIFYPEER, FALSE]; 
        curl_setopt[$ch, CURLOPT_HTTPHEADER, array['Authorization: Bearer '. $access_token, 'Content-Type: application/json']];     
        curl_setopt[$ch, CURLOPT_POSTFIELDS, json_encode[$curlPost]];     
        $data = json_decode[curl_exec[$ch], true]; 
        $http_code = curl_getinfo[$ch,CURLINFO_HTTP_CODE];         
         
        if [$http_code != 200] { 
            $error_msg = 'Failed to create event'; 
            if [curl_errno[$ch]] { 
                $error_msg = curl_error[$ch]; 
            } 
            throw new Exception['Error '.$http_code.': '.$error_msg]; 
        } 
 
        return $data['id']; 
    } 
     
    private function getTimezoneOffset[$timezone = 'America/Los_Angeles']{ 
        $current   = timezone_open[$timezone]; 
        $utcTime  = new \DateTime['now', new \DateTimeZone['UTC']]; 
        $offsetInSecs =  timezone_offset_get[$current, $utcTime]; 
        $hoursAndSec = gmdate['H:i', abs[$offsetInSecs]]; 
        return stripos[$offsetInSecs, '-'] === false ? "+{$hoursAndSec}" : "-{$hoursAndSec}"; 
    } 
} 
?>

Cấu hình cơ sở dữ liệu và API [config. php]

Cài đặt cơ sở dữ liệu và các biến hằng số thiết lập Google API được xác định trong cấu hình. tập tin php

Hằng số trong cơ sở dữ liệu

- DB HOST – Tên máy chủ cơ sở dữ liệu

- DB USERNAME – Nhập tên người dùng cơ sở dữ liệu tại đây

- DB PASSWORD – Nhập mật khẩu cơ sở dữ liệu tại đây

- DB NAME – Nhập tên cơ sở dữ liệu

Các hằng số trong Google API

- ID KHÁCH HÀNG GOOGLE – Phải chỉ định ID ứng dụng khách Google Project

- BÍ MẬT KHÁCH HÀNG CỦA GOOGLE – Nhập Google Project Client Secret tại đây

- GOOGLE OAUTH SCOPE – Đặt phạm vi OAuth cho xác thực Google [https. //www. googleapis. com/auth/lịch]

- URI TRỰC TIẾP – Nhập URL gọi lại tại đây

URL OAuth cho Google

-  $googleOauthURL – URL được sử dụng để xác thực người dùng bằng tài khoản Google của họ

// Database configuration    
define['DB_HOST', 'MySQL_Database_Host']; 
define['DB_USERNAME', 'MySQL_Database_Username']; 
define['DB_PASSWORD', 'MySQL_Database_Password']; 
define['DB_NAME', 'MySQL_Database_Name']; 
 
// Google API configuration 
define['GOOGLE_CLIENT_ID', 'Google_Project_Client_ID']; 
define['GOOGLE_CLIENT_SECRET', 'Google_Project_Client_Secret']; 
define['GOOGLE_OAUTH_SCOPE', '//www.googleapis.com/auth/calendar']; 
define['REDIRECT_URI', '//www.example.com/google_calendar_event_sync.php']; 
 
// Start session 
if[!session_id[]] session_start[]; 
 
// Google OAuth URL 
$googleOauthURL = '//accounts.google.com/o/oauth2/auth?scope=' . urlencode[GOOGLE_OAUTH_SCOPE] . '&redirect_uri=' . REDIRECT_URI . '&response_type=code&client_id=' . GOOGLE_CLIENT_ID . '&access_type=online'; 
 
?>

Kết nối cơ sở dữ liệu [dbConfig. php]

dbConfig. tệp php được PHP sử dụng để kết nối và chọn cơ sở dữ liệu MySQL

// Include configuration file 
require_once 'config.php'; 
 
// Create database connection 
$db = new mysqli[DB_HOST, DB_USERNAME, DB_PASSWORD, DB_NAME]; 
 
// Check connection 
if [$db->connect_error] { 
    die["Connection failed: " . $db->connect_error]; 
}

Biểu mẫu tạo sự kiện [chỉ mục. php]

Tạo biểu mẫu HTML để thu thập thông tin sự kiện [tiêu đề, mô tả, địa điểm, ngày và giờ]. Khi bạn gửi biểu mẫu, dữ liệu sự kiện sẽ được gửi đến tập lệnh phía máy chủ [addEvent. php] để xử lý

Thêm một sự kiện vào cơ sở dữ liệu [addEvent. php]

sự kiện thêm. tệp php chịu trách nhiệm chèn dữ liệu sự kiện vào cơ sở dữ liệu MySQL

- Sử dụng biến PHP $_POST, lấy thông tin sự kiện từ đầu vào của người dùng

- Xác thực đầu vào để đảm bảo rằng không có trường cần thiết nào bị bỏ trống

- Sử dụng PHP và MySQL, chèn dữ liệu sự kiện vào cơ sở dữ liệu

- Chuyển hướng người dùng đến URL OAuth để xác thực tài khoản Google

// Include database configuration file 
require_once 'dbConfig.php'; 
 
$postData = $statusMsg = $valErr = ''; 
$status = 'danger'; 
 
// If the form is submitted 
if[isset[$_POST['submit']]]{ 
     
    // Get event info 
    $_SESSION['postData'] = $_POST; 
    $title = !empty[$_POST['title']]?trim[$_POST['title']]:''; 
    $description = !empty[$_POST['description']]?trim[$_POST['description']]:''; 
    $location = !empty[$_POST['location']]?trim[$_POST['location']]:''; 
    $date = !empty[$_POST['date']]?trim[$_POST['date']]:''; 
    $time_from = !empty[$_POST['time_from']]?trim[$_POST['time_from']]:''; 
    $time_to = !empty[$_POST['time_to']]?trim[$_POST['time_to']]:''; 
     
    // Validate form input fields 
    if[empty[$title]]{ 
        $valErr .= 'Please enter event title.
'; 
    } 
    if[empty[$date]]{ 
        $valErr .= 'Please enter event date.
'; 
    } 
     
    // Check whether user inputs are empty 
    if[empty[$valErr]]{ 
        // Insert data into the database 
        $sqlQ = "INSERT INTO events [title,description,location,date,time_from,time_to,created] VALUES [?,?,?,?,?,?,NOW[]]"; 
        $stmt = $db->prepare[$sqlQ]; 
        $stmt->bind_param["ssssss", $db_title, $db_description, $db_location, $db_date, $db_time_from, $db_time_to]; 
        $db_title = $title; 
        $db_description = $description; 
        $db_location = $location; 
        $db_date = $date; 
        $db_time_from = $time_from; 
        $db_time_to = $time_to; 
        $insert = $stmt->execute[]; 
         
        if[$insert]{ 
            $event_id = $stmt->insert_id; 
             
            unset[$_SESSION['postData']]; 
             
            // Store event ID in session 
            $_SESSION['last_event_id'] = $event_id; 
             
            header["Location: $googleOauthURL"]; 
            exit[]; 
        }else{ 
            $statusMsg = 'Something went wrong, please try again after some time.'; 
        } 
    }else{ 
        $statusMsg = '

Vui lòng điền tất cả các trường bắt buộc

'. trim[$valErr, '
']; . '; . mục lục. php"]; thoát[]; ?>

Thêm Sự kiện vào Lịch Google [google_calendar_event_sync. php]

Trong cài đặt Google API, tập lệnh này được định cấu hình làm URI chuyển hướng. Điều này ngụ ý rằng sau khi đăng nhập bằng tài khoản Google của họ, người dùng sẽ được chuyển tiếp tới tập lệnh này, tập lệnh này xử lý quy trình tạo sự kiện trên Lịch Google bằng PHP

- Sử dụng biến PHP $_GET, trích xuất mã OAuth từ chuỗi truy vấn của URL

- Bao gồm lớp trình xử lý API Lịch Google và khởi chạy nó

- SESSION trả về ID tham chiếu sự kiện cho cơ sở dữ liệu cục bộ

- Sử dụng ID tham chiếu, lấy thông tin sự kiện từ cơ sở dữ liệu

- Chuẩn bị dữ liệu sự kiện cho Lịch Google [tóm tắt, mô tả, địa điểm, ngày tháng, thời gian bắt đầu và thời gian kết thúc]

- Nhận mã thông báo truy cập bằng cách sử dụng phương thức GetAccessToken[] của lớp GoogleCalendarApi

- Phương thức GetUserCalendarTimezone[] của lớp GoogleCalendarApi được sử dụng để truy xuất múi giờ của người dùng từ cài đặt lịch Google

- Sử dụng phương thức CreateCalendarEvent[] của lớp GoogleCalendarApi, tạo một sự kiện và thêm nó vào Lịch Google

- Trong cơ sở dữ liệu, cập nhật tài liệu tham khảo sự kiện Google

- Hiển thị trạng thái tạo sự kiện cùng với liên kết đến Lịch Google

// Include Google calendar api handler class 
include_once 'GoogleCalendarApi.class.php'; 
     
// Include database configuration file 
require_once 'dbConfig.php'; 
 
$statusMsg = ''; 
$status = 'danger'; 
if[isset[$_GET['code']]]{ 
    // Initialize Google Calendar API class 
    $GoogleCalendarApi = new GoogleCalendarApi[]; 
     
    // Get event ID from session 
    $event_id = $_SESSION['last_event_id']; 
 
    if[!empty[$event_id]]{ 
         
        // Fetch event details from database 
        $sqlQ = "SELECT * FROM events WHERE id = ?"; 
        $stmt = $db->prepare[$sqlQ];  
        $stmt->bind_param["i", $db_event_id]; 
        $db_event_id = $event_id; 
        $stmt->execute[]; 
        $result = $stmt->get_result[]; 
        $eventData = $result->fetch_assoc[]; 
         
        if[!empty[$eventData]]{ 
            $calendar_event = array[ 
                'summary' => $eventData['title'], 
                'location' => $eventData['location'], 
                'description' => $eventData['description'] 
            ]; 
             
            $event_datetime = array[ 
                'event_date' => $eventData['date'], 
                'start_time' => $eventData['time_from'], 
                'end_time' => $eventData['time_to'] 
            ]; 
             
            // Get the access token 
            $access_token_sess = $_SESSION['google_access_token']; 
            if[!empty[$access_token_sess]]{ 
                $access_token = $access_token_sess; 
            }else{ 
                $data = $GoogleCalendarApi->GetAccessToken[GOOGLE_CLIENT_ID, REDIRECT_URI, GOOGLE_CLIENT_SECRET, $_GET['code']]; 
                $access_token = $data['access_token']; 
                $_SESSION['google_access_token'] = $access_token; 
            } 
             
            if[!empty[$access_token]]{ 
                try { 
                    // Get the user's calendar timezone 
                    $user_timezone = $GoogleCalendarApi->GetUserCalendarTimezone[$access_token]; 
                 
                    // Create an event on the primary calendar 
                    $google_event_id = $GoogleCalendarApi->CreateCalendarEvent[$access_token, 'primary', $calendar_event, 0, $event_datetime, $user_timezone]; 
                     
                    //echo json_encode[[ 'event_id' => $event_id ]]; 
                     
                    if[$google_event_id]{ 
                        // Update google event reference in the database 
                        $sqlQ = "UPDATE events SET google_calendar_event_id=? WHERE id=?"; 
                        $stmt = $db->prepare[$sqlQ]; 
                        $stmt->bind_param["si", $db_google_event_id, $db_event_id]; 
                        $db_google_event_id = $google_event_id; 
                        $db_event_id = $event_id; 
                        $update = $stmt->execute[]; 
                         
                        unset[$_SESSION['last_event_id']]; 
                        unset[$_SESSION['google_access_token']]; 
                         
                        $status = 'success'; 
                        $statusMsg = '

Biến cố #'. $event_id. ' đã được thêm vào Google Lịch thành công

'; . = '

Mở Lịch'; . '; . '; . '; . mục lục. php"];     exit[]; } ?>

Danh sách kiểm tra để kiểm tra

Xác minh ứng dụng Google

Để sử dụng API Lịch, Google yêu cầu xác minh ứng dụng. Để công khai dự án Google, bạn phải gửi đơn đăng ký để xác minh

Bạn có thể kiểm tra nó ở chế độ phát triển bằng cách thêm Người dùng thử nghiệm vào trang chấp thuận OAuth của ứng dụng Google

- Nhấp vào liên kết màn hình đồng ý OAuth trên trang thông tin xác thực Ứng dụng khách OAuth

- Thêm người vào khu vực Người dùng thử nghiệm trên trang màn hình chấp thuận OAuth

Giao thức HTTPS

Xác thực API Lịch Google yêu cầu HTTPS. Do đó, URL của tập lệnh web phải được bật HTTPS

- Bạn có thể kiểm tra tích hợp API Lịch Google bằng HTTP trên máy chủ localhost

Phần kết luận

Thêm các sự kiện trang web vào Lịch Google là một cách tuyệt vời để cảnh báo hiệu quả cho người dùng ứng dụng. Bạn có thể đồng bộ hóa các sự kiện từ lịch sự kiện của ứng dụng web của mình với lịch Google của người dùng. Phần mềm này cho phép bạn tự động thêm các sự kiện vào Lịch Google từ trang web của mình bằng PHP. Để đồng bộ hóa các sự kiện giữa ứng dụng và lịch Google của người dùng, khả năng tạo sự kiện lịch Google là phương pháp lý tưởng

Làm cách nào để tích hợp Lịch Google với PHP?

Tạo Google Project và bật API Lịch .
Chuyển đến Bảng điều khiển API của Google
Chọn một dự án hiện có từ danh sách dự án hoặc nhấp vào DỰ ÁN MỚI để tạo dự án mới. .
Chọn dự án mới tạo và bật dịch vụ Google Calendar API. .
Trong thanh bên, chọn Thông tin xác thực trong phần API & Dịch vụ

Làm cách nào để tạo sự kiện lịch trong PHP?

Chức năng sau sẽ được triển khai để tạo lịch sự kiện PHP với FullCalendar. .
Lấy dữ liệu sự kiện từ cơ sở dữ liệu MySQL
Tạo lịch lớn với thư viện FullCalendar JS
Hiển thị các sự kiện trong ô ngày của lịch
Xem, thêm và xóa các sự kiện khỏi lịch

Có API cho Lịch Google không?

Hàng triệu người sử dụng Lịch Google để theo dõi các sự kiện của họ. API Lịch cho phép bạn tích hợp ứng dụng của mình với Lịch Google , tạo ra những cách mới để bạn thu hút người dùng của mình.

Chủ Đề