https://github.com/areed1192/ms-graph-python-client
  
  
    A Python Client Application that allows users to interact with the Microsoft Graph API. 
    https://github.com/areed1192/ms-graph-python-client
  
api-client microsoft microsoft-graph-api microsoft-graph-client python
        Last synced: 7 months ago 
        JSON representation
    
A Python Client Application that allows users to interact with the Microsoft Graph API.
- Host: GitHub
- URL: https://github.com/areed1192/ms-graph-python-client
- Owner: areed1192
- License: mit
- Created: 2020-10-08T23:37:20.000Z (about 5 years ago)
- Default Branch: master
- Last Pushed: 2022-11-21T13:51:02.000Z (almost 3 years ago)
- Last Synced: 2025-03-21T15:41:58.658Z (7 months ago)
- Topics: api-client, microsoft, microsoft-graph-api, microsoft-graph-client, python
- Language: Python
- Homepage:
- Size: 200 KB
- Stars: 58
- Watchers: 3
- Forks: 45
- Open Issues: 3
- 
            Metadata Files:
            - Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
 
Awesome Lists containing this project
README
          # Microsoft Graph Python Client Library
## Table of Contents
- [Overview](#overview)
- [Setup](#setup)
- [Usage](#usage)
- [Support These Projects](#support-these-projects)
## Overview
Microsoft Graph is the gateway to data and intelligence in Microsoft 365. It provides
a unified programmability model that you can use to access the tremendous amount of data
in Microsoft 365, Windows 10, and Enterprise Mobility + Security. This project utilizes python
to help users interact with and manage data on Microsoft Graph API.
## Setup
**Setup - Requirements Install:**
For this particular project, you only need to install the dependencies, to use the project. The dependencies
are listed in the `requirements.txt` file and can be installed by running the following command:
```console
pip install -r requirements.txt
```
After running that command, the dependencies should be installed.
**Setup - Local Install:**
If you are planning to make modifications to this project or you would like to access it
before it has been indexed on `PyPi`. I would recommend you either install this project
in `editable` mode or do a `local install`. For those of you, who want to make modifications
to this project. I would recommend you install the library in `editable` mode.
If you want to install the library in `editable` mode, make sure to run the `setup.py`
file, so you can install any dependencies you may need. To run the `setup.py` file,
run the following command in your terminal.
```console
pip install -e .
```
If you don't plan to make any modifications to the project but still want to use it across
your different projects, then do a local install.
```console
pip install .
```
This will install all the dependencies listed in the `setup.py` file. Once done
you can use the library wherever you want.
**Setup - PyPi Install:**
To **install** the library, run the following command from the terminal.
```console
pip install
```
**Setup - PyPi Upgrade:**
To **upgrade** the library, run the following command from the terminal.
```console
pip install --upgrade
```
## Usage
Here is a simple example of using the `ms_graph` library.
```python
from pprint import pprint
from ms_graph.client import MicrosoftGraphClient
from configparser import ConfigParser
# Specify your scopes when you want access certain resources.
scopes = [
    "Calendars.ReadWrite",
    "Files.ReadWrite.All",
    "User.ReadWrite.All",
    "Notes.ReadWrite.All",
    "Directory.ReadWrite.All",
    "User.Read.All",
    "Directory.Read.All",
    "Directory.ReadWrite.All",
    "offline_access",
    "openid",
    "profile"
]
# Initialize the Parser.
config = ConfigParser()
# Read the file.
config.read("config/config.ini")
# Get the specified credentials.
client_id = config.get("graph_api", "client_id")
client_secret = config.get("graph_api", "client_secret")
redirect_uri = config.get("graph_api", "redirect_uri")
# Initialize the Client.
graph_client = MicrosoftGraphClient(
    client_id=client_id,
    client_secret=client_secret,
    redirect_uri=redirect_uri,
    scope=scopes,
    credentials="config/ms_graph_state.jsonc"
)
# Login to the Client.
graph_client.login()
# Grab the User Services.
user_services = graph_client.users()
# List the Users.
pprint(user_services.list_users())
# Grab the Drive Services.
drive_services = graph_client.drives()
# List the Root Drive.
pprint(drive_services.get_root_drive())
```
## Support These Projects
**Patreon:**
Help support this project and future projects by donating to my [Patreon Page](https://www.patreon.com/sigmacoding). I'm
always looking to add more content for individuals like yourself, unfortuantely some of the APIs I would require me to
pay monthly fees.
**YouTube:**
If you'd like to watch more of my content, feel free to visit my YouTube channel [Sigma Coding](https://www.youtube.com/c/SigmaCoding).