Skip to main content

Fetch outlook Calendar Events in SharePoint Webpart

Today I came across a requirement to get outlook events to SharePoint custom webpart. Thanks to Graph API to ease the work.

Here are the steps that we need to follow in order to get events.

1. Register a new app in Azure Active Directory. Here is the blog that i referred.

2. Now its time to get access token using generated client id and secret in previous step.

Execute below code to get access token.


$.ajax({
    type: "POST",
    crossDomain: true,
    url:
      "https://cors-anywhere.herokuapp.com/https://login.microsoftonline.com/<Tenant ID>/oauth2/v2.0/token",
    headers: {
      "content-type": "application/x-www-form-urlencoded"
    },
    data: {
      grant_type: "client_credentials",
      client_id: "", //ClientId@TenantId
      client_secret: "",//Client Secret
      scope: "https://graph.microsoft.com/.default"
    },
    success: function(data) {
      console.log(data.access_token);
      getOutlookCalendarEvents(data.access_token);
    },
    error: function(data, errorThrown, status) {}
  });

You can get code access token from console of the browser.

3. Once you have access token, lets get outlook events. Below is the code to get events from outlook using access token generated earlier. 


function getOutlookCalendarEvents(token){
               var today = new Date().toLocaleDateString();
               var loggedInUser = _spPageContextInfo.userEmail;
               var OutlookCalendarURL = "https://graph.microsoft.com/v1.0/users/"+loggedInUser+"/events?&$orderby=start/DateTime&$filter=start/DateTime ge '"+today+"'";
              
               $.ajax({
                   type: "GET",
                   crossDomain: true,
                   url:OutlookCalendarURL,
                   headers: {
                     "authorization": "Bearer " + token
                   },
                   success: function(data) {
                              console.log(data);
                              var OutlookCalendarResults = data.value;                           
                   },
                   error: function(data, errorThrown, status) {}
               });          
}

Above code gets events that are greater than today.
Here is the list of other API end points that could help in further options.

Hope this helps,
Cheers,
Keyur

Comments

Popular posts from this blog

Business Data Connectivity

I came to a requirement wherein I was supposed to get data from an 3 rd party portal using API’s and then bring them to SharePoint server. The first approach that I finalized was just to make BDC solution that will get data from 3 rd party portal and will deploy it to SharePoint. How to Create BDC solution in SharePoint? I found below link that is having really great description about hot to create and deploy the BDC solution to SharePoint. http://www.c-sharpcorner.com/uploadfile/hung123/creating-business-data-connectivity-service-using-visual-studio-2010/ After creating an POC I came to know that BDC model cannot be deployed on Multi tenant farm. So what can be done next? After some amount of googling I came to know that we can create BDC solution using WCF services also. So I created a WCF service solution that acted as a wrapper that used to fetch data from the portal. We can them publish that service to IIS or Server and use the servic...

Dataverse Multi Choice Columns in PowerApps

We have been working with PowerApps, PowerApps and Dataverse and now I thought of sharing a few tips to ease your work if you are new to PowerApps + Dataverse as a combination. I will be sharing a few more tips in my upcoming blogs but to get started, Let’s take Multi Choice Columns this time. Unlike SharePoint or any other data source, Dataverse Multi choice columns are different so basically, I cannot go to my PowerApp and directly print selected value in a label. So, this is how you can show multi choice values in label. You need to use concat that allows to concat multiple selection. PowerApps has concat function that takes. Concat function syntax :  Concat (  Table ,  Formula  ) In my case I am trying to render a multi choice column values into a vertical gallery webpart. I have added a label control to a vertical gallery and then added below code.   Concat(ThisItem.ColumnName,Value & "") Hope this helps, Thanks, Keyur

SharePoint Migration : This content database has a schema version which is not supported in this farm

Today one of my client was expecting to restore a SharePoint Site Collection from and Database that he already took as a backup.  I followed below steps.           1.        Imported content database to SQL of the farm where the site is to be restored.           2.        Created a web application.           3.        Visited manage content database, set the current database property to offline.           4.        Click on add a new content database.           5.        Set the name of the content database same as the database that is imported to SQL.   SharePoint gave me below error. “ This content database has a schema version which is not supported in this farm." I tried to use powershe...