Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
en:m365_graphapi_calendars_read [2025/06/16 17:39]
admin [Configuration of Microsoft 365 for Calendars access]
en:m365_graphapi_calendars_read [2026/02/18 17:14] (current)
admin [4. Adding API Permissions]
Line 5: Line 5:
 This guide explains how to register a new application in Microsoft 365 for use with calendar integrations in **zebrix signage**. ​ This guide explains how to register a new application in Microsoft 365 for use with calendar integrations in **zebrix signage**. ​
 You will create an app, add a client secret, and assign it the **Calendars.Read** application permission. Then, you'll share the required details to the zebrix technical team and finally a secret UUID will be returned to you to be used in the widget configuration. You will create an app, add a client secret, and assign it the **Calendars.Read** application permission. Then, you'll share the required details to the zebrix technical team and finally a secret UUID will be returned to you to be used in the widget configuration.
 +
 +<WRAP center round info 60%>
 +Please note that a Microsoft 365 Global Admin account is required to complete this configuration
 +</​WRAP>​
 +
 +<WRAP center round important 60%>
 +This tutorial is a straightforward approach that grants application-wide **permissions to all resources and users calendars**. ​
 +It is the easiest to implement this, using only the Microsoft Entra Admin Center, making it suitable for quick setups.
 +However, **restricting permissions to specific resources** by scoping them to groups is an approach that is **more secured and recommended**. ​
 +It involves combining the Microsoft Entra Admin Center for initial setup with PowerShell commands to apply scoping that will not be covered in this tutorial.
 +</​WRAP>​
 +
  
  
Line 16: Line 28:
  
 ===== 2. Registering the App ===== ===== 2. Registering the App =====
-  - **Name**: Enter `zebrix signage calendars connector`+  - **Name**: Enter `zebrix signage calendars connector` ​(you are free to choose the name you want)
   - **Supported account types**: Choose **"​Accounts in this organizational directory only"​** (default).   - **Supported account types**: Choose **"​Accounts in this organizational directory only"​** (default).
   - Leave the **Redirect URI** empty.   - Leave the **Redirect URI** empty.
Line 23: Line 35:
 {{:​en:​m365_calendars_app_registration_02.png?​nolink&​1000|}} {{:​en:​m365_calendars_app_registration_02.png?​nolink&​1000|}}
  
-===== 3. Creating ​a Client Secret ===== +===== 3. Save details and create ​a Client Secret ===== 
-  - In the app overview, select **"​Certificates & secrets"​**. +  - Save the details that need to be provided to zebrix'​s technical team: 
-  Under **Client secrets**, click **"​New ​client ​secret"​**. +    - **Application (client) ID** 
-  Add a description,​ for example `zebrix connector secret`. +    **Directory ​(tenantID** 
-  - Set an expiration ​(recommended:​ 6 or 12 months). +  - Click on **Add a certificate or secret**.
-  - Click **"Add"** and copy the generated value immediately**You will not be able to retrieve it again.**+
  
 {{:​en:​m365_calendars_app_registration_03.png?​nolink&​1000|}} {{:​en:​m365_calendars_app_registration_03.png?​nolink&​1000|}}
 +
 +  - Add a description,​ for example `zebrix connector secret`.
 +  - Set an appropriate expiration (24 months is recommended).
 +
 +<WRAP center round important 60%>
 +When the secret will expire, zebrix will not have access to your calendars anymore and display their details on screen. You'll have to create a new secret and provide it to zebrix. We invite you to create an event in your personal calendar at the end of the validity period of the secret.
 +</​WRAP>​
  
 {{:​en:​m365_calendars_app_registration_04.png?​nolink&​1000|}} {{:​en:​m365_calendars_app_registration_04.png?​nolink&​1000|}}
 +
 +  - Click **"​Add"​** and copy the generated value and save it immediately. **You will not be able to retrieve it again.**
  
 {{:​en:​m365_calendars_app_registration_05.png?​nolink&​1000|}} {{:​en:​m365_calendars_app_registration_05.png?​nolink&​1000|}}
Line 41: Line 61:
   - Select **Microsoft Graph**.   - Select **Microsoft Graph**.
   - Choose **Application permissions**.   - Choose **Application permissions**.
-  - In the search ​bartype `Calendars.Read`.+  - Please ​search ​**Calendars**. 
 +  - If you only want to display meeting rooms events and availabilitiesplease check the role `Calendars.Read` 
 +  - If you plan to allow instant booking from the touchscreen,​ please check the role `Calendars.ReadWrite`
   - Check **Calendars.Read** under the **Calendars** section.   - Check **Calendars.Read** under the **Calendars** section.
   - Click **"Add permissions"​**.   - Click **"Add permissions"​**.
Line 48: Line 70:
 {{:​en:​m365_calendars_app_registration_06.png?​nolink&​1000|}} {{:​en:​m365_calendars_app_registration_06.png?​nolink&​1000|}}
  
-{{:en:m365_calendars_app_registration_07.png?nolink&1000|}}+{{:public_media:m365_calendars_api_permissions.png?​nolink|}} 
 + 
 +===== 5. Provide details to zebrix'​s technical team and get your UUID ===== 
 + 
 +  - Please provide to zebrix'​s technical team the following details: 
 +    * Application (client) ID 
 +    * Directory (tenant) ID 
 +    * Secret value 
 + 
 +  - We recommend using a secured channel to provide these details to our team. 
 +  - A UUID will be returned to you by the zebrix'​s technical team. These UUID has to remain secret as it will give full access to all your resources and users calendars details. 
 + 
 +===== 6. Configure the widget ===== 
 + 
 +  - Go to https://​widgets.zebrix.net 
 +  - Choose the Microsoft 365 calendar widget that suits your needs 
 +  - Copy / Paste your UUID in the field 
 +  - Set the resource or user UPN (usually, the email address) 
 +  - Customize other options of the widgets 
 +  - Copy the generated URL and paster it in a web zone in the page editor.
  
-===== 5. Summary ===== 
-You now have: 
-  - Registered an application named **"​zebrix signage calendars connector"​**. 
-  - Generated a client secret to authenticate your backend app. 
-  - Granted **Calendars.Read** application-level permission to access calendars in your organization. 
  
-===== Next Steps ===== 
-Use the **Application (client) ID**, **Directory (tenant) ID**, and **Client secret** in your integration code to authenticate using the OAuth 2.0 client credentials flow.