Guides
Microsoft Teams Configuration
overview the online meeting integration tool in aplus+ allows faculty to connect to microsoft teams to import meeting attendance where participants can be matched to students in aplus+ there are the following steps to the configuration in aplus+ create a connection to microsoft teams in order to obtain the redirect url in azure active directory create an app registration for the aplus+ connection using the redirect url return to the aplus+ microsoft teams connection to set the client id and secret users can then connect individually connect to microsoft teams to gather meeting attendance about oauth and microsoft teams apps oauth is an open standard which allows a service (microsoft teams) to provide a third party tool (aplus+) with access to data on behalf of a microsoft teams user creating an app registration within microsoft teams is required to provide aplus+ with access as the app is configured to know about aplus+, which information can be accessed, and has a shared secret which ensures that only aplus+ is able to access the microsoft teams data in this context, aplus+ is the app , which is connecting to microsoft teams first create a connection to ms teams from aplus+ in this step, a connection will be created with a temporary microsoft teams client id and secret these will be set later after the microsoft teams app has been created as they are provided by microsoft teams the aplus+ microsoft teams connection must be created first in order to obtain the redirect url which is unique to the connection the aplus+ microsoft teams connection must be created first in order to obtain the redirect url which is unique to the connection log into aplus+ as an aplus+ administrator user open the online meeting integration page at admin > plug ins > online meeting integration click the ‘+ add connection’ option at the right select “microsoft teams” as the online meeting platform and click next the redirect url won’t be available until the connection is saved enter a temporary application id, directory id and secret and save the connection click on the new connection you’ve just created, to open it for editing again make a note of the redirect url for this connection this is required to configure microsoft teams you must return to this connection later to update the application id, directory id and secret which microsoft teams will provide for you create microsoft teams app registration navigate to the entra id area (formerly azure active directory ) of the azure portal at https //portal azure com/ click through to app registrations choose to create a new registration complete the following fields to register the app name this can be any name suggestion “aplus+ attendance” supported account types accounts in this organizational directory only redirect uri select web from the list and enter the redirect url from when you previously configured the connection within aplus+ click register determine the application (client) id and directory (tenant) id these are located on the app registration overview and they must be added to the connection you created in aplus+ must be added to the connection you created in aplus+ add a client secret on the menu of the app registration choose ‘certificates & secrets’ then click new client secret , enter a name such as ‘aplus+ attendance secret yyyy’ where yyyy is the current year, specify an expiry period (suggest 12 months) and click ‘add’ the secret will be generated for you and added you can copy this using the copy button beside the secret – note it’s the value which is the actual secret this value must be added as the secret to the connection within aplus+ this value must be added as the secret to the connection within aplus+ suggest setting up a reminder to configure a new secret before this one expires make sure you have configured the aplus+ connection application (client) id and directory (tenant) id and secret permissions the following permissions must be set in order to allow the app to connect to user’s meeting information to set these navigate to api permissions add the permissions as shown in the screenshot at the top of this section then select delegated permissions then select the permissions below after adding these permissions, select “grant admin consent for aplus+ attendance” authorizing access when an aplus+ user first clicks through to this connection they will be asked to authorize the app the screen below shows what a user will see troubleshooting microsoft teams secret expiry there may be access problems due to expiry of security credentials secrets have an expiry period, typically 12 months but this is configured when the secret is created check the app registrations in the azure portal expiry is indicated on the right column of the app registration list to solve this click through to the app registration and you will be prompted to create a new secret and specify an expiry period after updating the secret you may need to access the connection in aplus+ and clear access tokens microsoft teams errors api responded with no online meetings in response api responded with no online meetings in response this most likely will occur when a manually entered meeting join url is not found by microsoft teams check the join url not found not found a calendar event may be found, but the online meeting associated with it may not exist via the microsoft teams api this could occur if it’s been a long time since the meeting occurred unable to get microsoftteams token unable to get microsoftteams token this could be caused by an expired secret visit the relevant app registration in the azure portal and under certificates and secrets inspect the expiry date of the client secret currently used in aplus+ you may need to create a new client secret and update aplus+ with the value of the new secret refused to connect refused to connect when connecting to microsoft teams using aplus+ within canvas, the below refused to connect error page may be shown this is due to microsoft teams not allowing logging in from within an iframe for security reasons the solution is to either log into microsoft teams in advance using the same web browser or to open attendance in its own browser tab technical reference api calls the following api endpoints are called https //graph microsoft com/beta/me/calendar/calendarview https //graph microsoft com/beta/me/onlinemeetings https //graph microsoft com/beta/me/onlinemeetings/{meetingid}/attendancereports https //graph microsoft com/beta/me/onlinemeetings/{meetingid}/meetingattendancereport https //graph microsoft com/beta/me/onlinemeetings/{meetingid}/attendancereports/{reportid} processing logic this is a summary of how the system determines which meetings to show at the time of writing there is not always a direct relationship between a recurring calendar item and the online meetings which are started for that item ms teams allows an online meeting to be initiated for a scheduled calendar item at any time, not at the date and time it’s scheduled for – you can “join” the next day or week every time the meeting is started, an occurrence of that meeting is recorded and it’s associated with the “master” of any recurring event this makes the processing a bit more involved and it works like this get a list of all online meeting events in the calendar which occur for the time period for each discrete event or event series, get the associated online meeting there is just one online meeting for recurring events for each online meeting, get a list of all occurrences of a started meeting filter that list so that only those occurrences which occur during the required date range is shown show this list of occurrences, and indicate which if any are recurring configuration and notes there are some items that need to be completed prior to usage by instructors microsoft teams attendance status when the microsoft teams module is used to mark attendance, it will use the attendance status that is assigned to it this needs to be defined before the first use (optional) if you wish to have a specific attendance status setup that is unique to the microsoft teams integration, you will first need to set that status up in the attendance setting admin page in the admin portal this can be found under “admin > attendance > statuses” to configure the microsoft teams attendance status navigate to “admin > plug ins > plug in settings” expand “online meeting integration” select the “attended status” setting and enter the name of the attended status before selecting save its best to copy and paste this from the attendance status setup page, to make sure the name is an exact match meeting look back days and meeting look forward days by default meetings which occur +/ 24 hours of the session date and time will be shown this can be changed if you need to show meetings which occur earlier than this, relative to the date and time of the session to configure navigate to “admin > plug ins > plug in settings” expand “online meeting integration” select the setting to change and enter a number of days fractional values are allowed the settings are “meeting look back days” and “meeting look forward days” note that the online meeting platform (microsoft teams) may interpret fractional days to whole days how students are matched aplus+ attempts to match the microsoft teams attending students to the course roster, first by their primary email, and then by name for the most accurate results we recommend that students are required to register when joining microsoft teams sessions, and to use their primary email address that is stored in canvas, as that is where aplus+ gets its email addresses from