What are the best practices for integrating Google Calendar API with PHP for multi-user functionality?

To integrate Google Calendar API with PHP for multi-user functionality, it is recommended to use OAuth 2.0 for user authentication and authorization. Each user will need to authenticate their Google account and grant access to their calendar data. It is also important to handle token storage securely to ensure user data privacy.

// Step 1: Set up Google API client
$client = new Google_Client();
$client->setAuthConfig('client_secret.json');
$client->addScope(Google_Service_Calendar::CALENDAR);

// Step 2: Handle OAuth 2.0 flow for each user
if (isset($_SESSION['access_token'])) {
    $client->setAccessToken($_SESSION['access_token']);
} else {
    $authUrl = $client->createAuthUrl();
    header('Location: ' . $authUrl);
    exit();
}

// Step 3: Make API requests on behalf of the user
$service = new Google_Service_Calendar($client);
$calendarList = $service->calendarList->listCalendarList();

foreach ($calendarList->getItems() as $calendar) {
    echo $calendar->getSummary() . "<br>";
}