You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

40 lines
985 B

<?php
namespace App\Http\Controllers;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use Microsoft\Graph\Graph;
use Microsoft\Graph\Model;
use App\TokenStore\TokenCache;
class CalendarController extends Controller
{
public function calendar()
{
$viewData = $this->loadViewData();
// Get the access token from the cache
$tokenCache = new TokenCache();
$accessToken = $tokenCache->getAccessToken();
// Create a Graph client
$graph = new Graph();
$graph->setAccessToken($accessToken);
$queryParams = array(
'$select' => 'subject,organizer,start,end',
'$orderby' => 'createdDateTime DESC'
);
// Append query parameters to the '/me/events' url
$getEventsUrl = '/me/events?'.http_build_query($queryParams);
$events = $graph->createRequest('GET', $getEventsUrl)
->setReturnType(Model\Event::class)
->execute();
$viewData['events'] = $events;
return view('calendar', $viewData);
}
}