All Projects → tamhinsf → QuickTeams

tamhinsf / QuickTeams

Licence: other
Download, Clone, Archive, Un-Archive your Microsoft Teams and manage the apps you've installed to them

Programming Languages

C#
18002 projects

Projects that are alternatives of or similar to QuickTeams

powershell
PnP PowerShell
Stars: ✭ 326 (+951.61%)
Mutual labels:  microsoft-graph-api, microsoft-graph
MsftTeams
Module for Posting messages to MSTeams via Webhook
Stars: ✭ 35 (+12.9%)
Mutual labels:  microsoft-teams, msteams
BlazorGraphApi
Blazor Server App with Azure AD Authentication, that calls the Microsoft Graph API on-behalf of the signed-in user.
Stars: ✭ 28 (-9.68%)
Mutual labels:  microsoft-graph-api, microsoft-graph
teams-api
Unofficial Microsoft Teams Library
Stars: ✭ 92 (+196.77%)
Mutual labels:  microsoft-teams, msteams
CodeConversations
Code Conversations was a Demo is Scott Hanselman's keynote at Microsoft BUILD 2020. Code Conversations was designed with one goal in mind - to see if we could bring the power of .NET Interactive into Microsoft Teams, to create a way for people to have collaborative conversations about small bits of code.
Stars: ✭ 109 (+251.61%)
Mutual labels:  microsoft-teams
msgraph-sdk-java-core
Microsoft Graph SDK for Java - Core Library
Stars: ✭ 33 (+6.45%)
Mutual labels:  microsoft-graph
Meetingbar
Your next meeting always before your eyes in the macOS menu bar
Stars: ✭ 2,621 (+8354.84%)
Mutual labels:  microsoft-teams
Partner-Smart-Office
An open source toolkit empowering partners understand their customer’s security posture.
Stars: ✭ 37 (+19.35%)
Mutual labels:  microsoft-graph
msgraph-sdk-go
Microsoft Graph SDK for Go
Stars: ✭ 105 (+238.71%)
Mutual labels:  microsoft-graph
Matterbridge
bridge between mattermost, IRC, gitter, xmpp, slack, discord, telegram, rocketchat, twitch, ssh-chat, zulip, whatsapp, keybase, matrix, microsoft teams, nextcloud, mumble, vk and more with REST API (mattermost not required!)
Stars: ✭ 4,452 (+14261.29%)
Mutual labels:  microsoft-teams
ms-identity-mobile-apple-swift-objc
An iOS sample in Swift that authenticates Microsoft Account and Azure AD users and calls the Graph API using OAuth 2.0
Stars: ✭ 61 (+96.77%)
Mutual labels:  microsoft-graph-api
AzureGraph
R interface to Microsoft Graph REST API
Stars: ✭ 28 (-9.68%)
Mutual labels:  microsoft-graph-api
List-Formatting
List Formatting Samples for use in SharePoint and Microsoft Lists
Stars: ✭ 1,227 (+3858.06%)
Mutual labels:  microsoft-teams
tod0
A Terminal Client for Microsoft To-Do
Stars: ✭ 93 (+200%)
Mutual labels:  microsoft-graph-api
Firepower O365 Feed Parser
This is a Sample Script that can parse the O365 Web Service API and upload it to Firepower Management Center as Group Objects.
Stars: ✭ 56 (+80.65%)
Mutual labels:  o365
Botkit
Botkit is an open source developer tool for building chat bots, apps and custom integrations for major messaging platforms.
Stars: ✭ 10,555 (+33948.39%)
Mutual labels:  microsoft-teams
sentry-msteams
Microsoft Teams Integration for Sentry
Stars: ✭ 27 (-12.9%)
Mutual labels:  microsoft-teams
linux-teams
An unofficial Microsoft Teams application for Linux
Stars: ✭ 19 (-38.71%)
Mutual labels:  microsoft-teams
Optimized.Mga
PowerShell module for Microsoft Graph REST API. To optimize, speed, and bulk use Microsoft Graph API in PowerShell. You can can enter your own URL so you aren't restricted to the limitations of the official Microsoft Module. Includes ways to speed up the process, handle throttling, and re-authenticate after the token expires.
Stars: ✭ 29 (-6.45%)
Mutual labels:  microsoft-graph-api
PSBlackListChecker
Basic functionality of this module is ability to quickly verify if given IP address is on any of over 80 defined DNSBL lists. Below code will return results only if IP is on any of the lists. Advanced functionality of this module is ability to send reports to your email when things get bad on one of those 80 defined DNSBL listrs.
Stars: ✭ 50 (+61.29%)
Mutual labels:  microsoft-teams

Quick Teams for Microsoft Teams

Download, clone, archive, un-archive your Microsoft Teams and manage the apps you've installed to them. Here's what Quick Teams can do for you:

  • Download all messages on a per channel or Team-wide basis
    • We'll create a folder called quickteams, which contains subfolders that correspond to the channel(s) downloaded.
      • Each message will be contained in an individual JSON file, whose name corresponds to the internally generated message ID
      • Each reply will also be contained in an individual JSON file, whose name corresponds to the ID of the parent message and the ID of the reply
      • A file called channelSettings will contain metadata about the channel
    • Team-wide downloads will include metadata about Team and underlying O365 group in the quickteams folder
      • teamSettings - metadata about the team
      • groupSettings - metadata about the underlying O365 group
      • groupMembers - group member list
      • groupOwners - group owner list
  • Clone an existing Team into a new one - in whole or in part! It's up to you to select which elements you want:
    • Channel structure
    • Tabs (structure)
    • Installed applications
    • Settings
    • Members
  • Archive and un-archive a Team
  • Manage the apps you've installed to a Team

Looking to create your own archival or compliance tool? Use our project as your starter kit!

We'll add features as more Microsoft Teams APIs become available and as time permits. For now, let's get started!

Setup a development environment

  • Clone this GitHub repository.
  • Install Visual Studio 2017. Don't have it? Download the free Visual Studio Community Edition
  • Don't want to use Visual Studio? Quick Teams was written using .NET Core 2.1 and runs on Windows, macOS, and Linux. Instead of using Visual Studio, you can simply download the SDK necessary to build and run this application.

Identify a test user account

Create the Quick Teams Application in Azure Active Directory

You must register this application in the Azure Active Directory tenant associated with your Office 365 organization.

  • Sign in to your Azure Management Portal at https://portal.azure.com
    • Or, from the Office 365 Admin center select "Azure AD"
  • Within the Azure Portal, select Azure Active Directory -> App registrations -> New application registration
    • Name: QuickTeams (anything will work - we suggest you keep this value)
    • Application type: Native
    • Redirect URI: https://quickteams (anything else will work if you want to change it)
    • Click Create
  • Once Azure has created your app, copy your Application Id and give your application access to the required Microsoft Graph API permissions.
    • Click your app's name (i.e. QuickTeams) from the list of applications

    • Copy the Application Id

    • All settings -> Required permissions

      • Click Add
      • Select an API -> Microsoft Graph -> Select (button)
      • Select permissions
        • Read all users' full profiles
        • Read and write all groups
      • Click Select
      • Click Done
    • If you plan to run Quick Teams as a non-administrator: applications built using the Graph API permissions above require administrative consent before non-administrative users can sign in - which fortunately, you'll only need to do once.

      • You can immediately provide consent to all users in your organization using the Azure Portal. Click the "Grant permissions" button, which you can reach via your app's "Required permissions" link.
        • Here's the full path to "Grant permissions": Azure Active Directory -> App registrations -> Your app (i.e. QuickTeams) -> All settings -> Required permissions -> Grant permissions
      • Or, whenever you successfully launch Quick Teams, we'll show you a URL that an administrative user can visit to provide consent.
        • Note: if you've configured the re-direct URL to be the same value as we've shown you on this page (i.e. https://quickteams, you'll be sent to an invalid page after successfully signing in. Don't worry!
  • Take note of your tenant name, which is typically in the form of your-domain.onmicrosoft.com. You'll need to supply this when building or running Quick Teams.

Build Quick Teams

  • Open the cloned code from this repository in Visual Studio, Visual Studio Code, or your favorite editor
  • Update appsettings.json in the QuickTeams folder. Within the section called "AzureAd", update the fields with your tenant name (TenantId), Application ID (ClientId), and Redirect URI (AadRedirectUri). You can leave the value for AadInstance as-is.
  • Or, you can leave these values empty and provide them whenever you run the application.
  • Build QuickTeams
    • In Visual Studio select QuickTeams from the Solution Explorer, then from the top menu pick Build -> QuickTeams
    • Or, using the .NET Core SDK, you can perform these steps from the command line
      • Open a command prompt, and navigate to the QuickTeams folder
        • dotnet clean
        • dotnet restore
        • dotnet build

Using Quick Teams

  • Launch the Microsoft Teams app and make sure you are a member of an existing Team. If not - create a Team!
  • Open a command prompt, and navigate to the QuickTeams folder
  • Run one the following command
    • dotnet run
  • If prompted, provide your Active Directory Tenant Name and Application Id
  • Follow the instructions provided to sign in:
    • Start a web browser and go to https://aka.ms/devicelogin - we strongly suggest you use your web browser's "private mode".
    • Enter the security code provided in the command prompt
    • Consent to using Quick Teams
    • Enter your O365 credentials.
    • Return to your command prompt
  • Select the target Microsoft Team you want to manage. You can also choose to create a new Microsoft Team.
    • We'll show you a list of commands you can perform against that team.
      • apps - manage the apps associated with this team though a dedicated sub-menu
        • list - list the apps installed to the current Team
        • add - add an app to the current Team by specifying its ID
        • delete - "delete" an app within certain limitations.
          • installedAndPermanent apps cannot be deleted
          • teamsOwned apps upon "delete" will be hidden but not deleted
        • back - go back to the top level menu
      • clone - clone this team into a new one. We'll ask you for the name of the new team and the parts you want to clone.
      • archive - archive this team
      • unarchive - unarchive this team
      • download - download an entire Team's messages, metadata about both the Team and its channels, and membership information
      • delete - delete this team
      • switch - change to another team
      • channel - create a new channel or download an individual channel's messages and metadata
      • exit - leave the application
  • Go back to the Microsoft Team app and explore the results of the actions you started from Quick Teams!

Questions and comments

We'd love to get your feedback about this sample. You can send your questions and suggestions to us in the Issues section of this repository.

Questions about Microsoft Graph development in general should be posted to Stack Overflow. Make sure that your questions or comments are tagged with [microsoftgraph].

Additional resources

Copyright

Copyright (c) 2018 Tam Huynh. All rights reserved.

Disclaimer

THIS CODE IS PROVIDED AS IS WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].