The CalendarFinder
is an app to find all calendars of a user and some user-data in an easy way without making any http
requests in ms-graph.
Install the tool globally or locally to use it. The app is shipped as a NuGet-Tool beginning with v0.3.0
dotnet tool install --global NRG.CalendarFinder
- Create a file (like mydata.json) put the
Azure Ad App
Registration and your user-identifiers as shown in the example. - Start the app with the input file (step 1) as parameter.
- The result file (like mydata.result.json) will be opened in
Visual Studio Code
automatically.
{
"MsGraphClients": [
{
"TenantId": "adzure_ad_app_tenant_guid",
"ClientId": "adzure_ad_app_client_guid",
"Thumbprint": "certificate_thumbprint",
"Scopes": null
}
],
"UserIdentifier": [
"my_guid_user_identifier",
"my_user_principle_name_identifier",
"my_user_mail_identifier"
]
}
calfi -a mydata.json
[
{
"Input": {
"UserIdentifier": "my_input_user_identifier"
},
"User": {
"DisplayName": "output_display_name",
"PrincipalName": "output_user_principla_name",
"Mail": "output_user_mail",
"UserId": "output_user_guid",
"CalendarId": "only_or_default_calendar_id"
},
"Calendars": [
{
"Id": "calendar_id",
"Name": "calendar_name",
"Owner": "owner_mail",
"IsDefault": true
}
]
}
{
...
}
]
- Appregistration (Azure Ad App)
- Necessary Permissions on the App (Azure Ad App)
Type --help
to see the help text and the required and optional arguments.
To not open the file in Visual Studio Code
after finish searching, use the command with the argument -e false
(e is for editor).
By default ms-graph
allows to find users directly by providing the user-id or user-principle-name.
That's how this order came about:
- user-id / user-principle-name
- user-mail
- user-mail-nickname*
- user-principle-nickname*
*the mail-nickname is the part left of the @ in the mail-address ([email protected] -> nickname)