Anonymousprnt::Y
Click on images to see them in full screen

Office 365 Graph

From Door Tablet V8.5 the primary method for accessing Office 365 Tenant is by using the Door Tablet for Microsoft Graph. To read about the platform please follow this link: https://developer.microsoft.com/en-us/graph

Key differences between the EWS and Graph implementation
Microsoft Graph is the next generation APIs for access to Office 365. In due course support for EWS will end. Microsoft Graph provides many advantages and these apply to the Door Tablet access to the platform. The following points should be noted:

  1. Your existing Office 365 Tenant is used
  2. Impersonation is not supported in Graph. When creating resources you will need to issue commands to grant your service account "Editor" right to the resource calendar
  3. Performance is enhanced with Graph - at all levels it appears faster compared to EWS
  4. All functionality offered by Door Tablet on EWS is available in Door Tablet on Graph
  5. Security is handled differently in Graph and initial administrative tasks are required to facilitate Door Tablet access to your Office 365 Tenant
  6. Graph is in version 1.0 but appears to be very stable and is classed "Production Ready"

Enabling Door Tablet to Access your Office 365 Tenant
Download and install Door Tablet 8.5 or later
Before you start on Door Tablet set-up, you need to register the Door Tablet application here: https://apps.dev.microsoft.com. You will be required to sign in, use your Office 365 account.

Name your application and click Create. You do not have to call it Door Tablet but we suggest you do.

Your application will be created, and you are new ready to edit its properties:
Under Application Secrets you will need to Generate a New Password

Create a Password and keep it safe as there is no way to recover it. You can always create a new one of course.


Click Add Platform, and select Web...


Type the URL as follows:


And the final step here is to add permissions to the Application under Delegated Permissions:

You will need the five showing here.
  1. Calendars.ReadWrite.Shared
  2. Mail.Send
  3. People.Read
  4. User.ReadBasic.All
  5. User.Read.All

Select the permissions and click OK:



And now, save your work:


Enabling Access to your Resources Calendars
As mentioned before, Impersonation is not support in Graph. For this purpose you will need to grant the Service Account you use in Door Tablet "Editor" rights to the Calendar folder of your resources. To do this you will need to connect to Office 365 as already described here Database 'Door Tablet HELP', View 'Help Documents', Document 'Office 365'. The command you need to issue for each resource is:
Add-MailboxFolderPermission <room-alias>:\Calendar -User <service-account-name> -AccessRights Editor
For example:
Add-MailboxFolderPermission Amsterdam:\Calendar -User doortablet -AccessRights Editor


Connecting the Door Tablet Server to Office 365 over Graph
Before you connect using Graph, the Door Tablet setting record looks like this. Note that you can still test your connection, as before. Please note the from this version of Door Tablet you no longer specify the path to Office 365 server farms. Now click on the check box "Use Microsoft Graph Technology".


Once you click on the check box, please perform the following, in the order shown:
  1. Copy and paste the Application ID from the Application you defined above
  2. Copy and paste the Application Password
  3. Click on the link to Admin-Authorise the application


When you click on the link the following Pop-up will appear:

Click to login... the following will show:


Once you click on Accept, you will get this, which is OK:


Test your connection to Office 365 using Graph
You are now ready to test your connection to Office 365 using Graph Technology.
Please note that the number of resources found when using Microsoft Graph will be different to when using Microsoft EWS. The reason for this is that in EWS Door Tablet searches only resources in RoomLists while when using Graph the Door Tablet server scans all resources, irrespective of LoomLists.