microsoftgraph / meetings-capture-sample

A Microsoft Teams solution that helps teams capture meeting minute notes inside individual channels
MIT License
33 stars 19 forks source link

Functionality presented in video different from source docs #12

Open Morgma opened 4 years ago

Morgma commented 4 years ago

First, thank you for this starter project! It's a cool example of leveraging O365 Graph API, ASP.NET Core and Teams together.

However, after getting the app mostly working in my environment, I wanted to bring to your attention the confusing bits that made it pretty difficult for a modestly skilled .NET/Azure web developer to get started with.

The tabs involved in the video are "Meeting Capture", "Meeting Tasks" and "Delete Meetings" - but the docs in the repo lead you to have "Meeting Capture" with the "Home/Delete" options under the tab Settings. Optionally, it seems, the SPFx web part may be added as the "PendingMeetings" tab. It feels like maybe the master branch of this repo doesn't match what is depicted the demo video.

One thing that really confuses me in the docs is what to do with this web part. Modifying the UpcomingMeetings.tsx to hardcode a specific plan and bucket id seems untenable. Everytime a meeting is created, a new bucket will be created - so I figured I must be doing something wrong if I'm going to have to compile and publish the web part for every meeting. I also noticed in step 7 that the web part is being added in Teams, but isn't compiled and published to SharePoint until step 8.

Security setup is fairly nuanced in this. I'm more familiar with AAD than SharePoint, but as I published the webpart to sharepoint using a service account / site administrator; I overlooked that the API access requests were hitting the SharePoint admin center for that account. Also, in AAD security, it isn't explicitly called out that not only "Delegated" permissions are needed, but that an "Application" permission is needed for "OnlineMeetings.ReadWrite.All". The scope is listed in the final result screenshot so I eventually figured it out, but I started off looking for that in the delegated permissions to no avail.

Many are familiar with the Power App of the same name - it was essentially a one-click template, so it might be good to include a quick comparison in the docs that describes in what ways the Teams Meeting Capture app differs from the more personal-use Power App.