kacperfaber / TeamsHelper

C# WebService to synchronize Teams calendar with Google calendar. It supports customization of reminders and colors. We can customize what to do with canceled event [delete reminders, change colors]

Home Page:https://www.github.com/kacperfaber/TeamsHelper

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

TeamsHelper

C# WebService to synchronize Teams calendar with Google calendar.
It supports customization of reminders and colors.
We can customize what to do with canceled event

  • Delete reminders
  • Change colors
  • Delete event from google calendar.

It's archived right now.

Installation

Clone the repo

# clone the repo
git clone https://www.github.com/kacperfaber/TeamsHelper && cd TeamsHelper

# Change PWD to 'TeamsHelper.WebApp' subproject.
cd TeamsHelper.WebApp

Run locally

dotnet restore
dotnet run

Configuration

Google

Default configuration file is GoogleConfiguration.json. File must be in a working directory.

"GoogleConfiguration": {
    "DescriptionAfterCancelled": "ChangeDescription | AppendDescription | KeepDescription",
    "DeleteCanceled": false,
    "Colors": {
      "Active": "9", // google colors
      "Canceled": "8"
    },
    "Reminders": [
      {
        "MinutesBefore": 2
      }
    ],
    "CanceledReminders": []
  }

Service

Default configuration file is ServiceConfiguration.json. File must be in a working directory.

{
  "ServiceConfiguration": {
    "SleepMinutes": 180,
    "WorkOnNight": false
  }
}

OAuth

Default configuration file is OAuthConfiguration.json. File must be in a working directory.

{
  "OAuth": {
    "Configuration": {
      "Google": {
        "ClientId": "",
        "ClientSecret": "",
        "RedirectUrl": "",
        "Scopes": "openid profile email https://www.googleapis.com/auth/calendar%20https://www.googleapis.com/auth/calendar.readonly%20https://www.googleapis.com/auth/calendar.events",
        "TokenEndpoint": "https://oauth2.googleapis.com/token",
        "CodeVerifier": "",
        "CodeChallenge": "",
        "CodeChallengeMethod": "S256",
        "IdentityUrl": "https://www.googleapis.com/oauth2/v2/userinfo",
        "IdentityMethod": "GET",
        "IdentityModelKeys": {
          "Name": "name",
          "Id": "id",
          "Email": "email"
        }
      },

      "Microsoft": "The same at $.OAuth.Configuration.Google"
    }
  }
}

Author

Kacper Faber

About

C# WebService to synchronize Teams calendar with Google calendar. It supports customization of reminders and colors. We can customize what to do with canceled event [delete reminders, change colors]

https://www.github.com/kacperfaber/TeamsHelper


Languages

Language:C# 97.3%Language:HTML 2.7%