/microsoftgraph-python

Microsoft Graph API wrapper written in Python

Primary LanguagePythonGNU General Public License v3.0GPL-3.0

microsoft-python

Microsoft graph API wrapper for Microsoft Graph written in Python.

Installing

pip install microsoftgraph-python

Usage

If you need an office 365 token, send office365 attribute in True like this:

from microsoftgraph.client import Client
client = Client('CLIENT_ID', 'CLIENT_SECRET', account_type='by defect common', office365=True)

If you don't, just instance the library like this:

from microsoftgraph.client import Client
client = Client('CLIENT_ID', 'CLIENT_SECRET', account_type='by defect common')

Get authorization url

url = client.authorization_url(redirect_uri, scope, state=None)

Exchange the code for an access token

token = client.exchange_code(redirect_uri, code)

Refresh token

token = client.refresh_token(redirect_uri, refresh_token)

Set token

token = client.set_token(token)

Get me

me = client.get_me()

Get message

me = client.get_message(message_id="")

Webhook section, see the api documentation: https://developer.microsoft.com/en-us/graph/docs/api-reference/beta/resources/webhooks

Create subscription

subscription = client.create_subscription(change_type, notification_url, resource, expiration_datetime, client_state=None)

Renew subscription

renew = client.renew_subscription(subscription_id, expiration_datetime)

Delete subscription

renew = client.delete_subscription(subscription_id)

Onenote section, see the api documentation: https://developer.microsoft.com/en-us/graph/docs/concepts/integrate_with_onenote

List notebooks

notebooks = client.list_notebooks()

Get notebook

notebook = client.get_notebook(notebook_id)

Get notebook sections

section_notebook = client.get_notebook_sections(notebook_id)

Create page

add_page = client.create_page(section_id, files)

List pages

pages = client.list_pages()

Calendar section, see the api documentation: https://developer.microsoft.com/en-us/graph/docs/api-reference/beta/resources/calendar

Get events

events = client.get_me_events()

Create calendar event

events = client.create_calendar_event(subject, content, start_datetime, start_timezone, end_datetime, end_timezone,
                              recurrence_type, recurrence_interval, recurrence_days_of_week, recurrence_range_type,
                              recurrence_range_startdate, recurrence_range_enddate, location, attendees, calendar=None)

Get calendars

events = client.get_me_calendars()

Create calendar

events = client.create_calendar(name)

Contacts section, see the api documentation: https://developer.microsoft.com/en-us/graph/docs/api-reference/beta/resources/contact

Get contacts

If you need a specific contact send the contact id in data_id

specific_contact = client.outlook_get_me_contacts(data_id="")

If you want all the contacts

specific_contact = client.outlook_get_me_contacts()

Create contact

add_contact = client.outlook_create_me_contact()

Create contact in specific folder

add_contact_folder = client.outlook_create_contact_in_folder(folder_id)

Get contact folders

folders = client.outlook_get_contact_folders()

Create contact folders

add_folders = client.outlook_create_contact_folder()

Onedrive section, see the api documentation: https://developer.microsoft.com/en-us/graph/docs/api-reference/beta/resources/onedrive

Get root items

root_items = client.drive_root_items()

Get root children items

root_children_items = client.drive_root_children_items()

Get specific folder items

folder_items = client.drive_specific_folder(folder_id)

Excel section, see the api documentation: https://developer.microsoft.com/en-us/graph/docs/api-reference/beta/resources/excel

For use excel, you should know the folder id where the file is

Create session for specific item

create_session = client.drive_create_session(item_id)

Refresh session for specific item

refresh_session = client.drive_refresh_session(item_id)

Close session for specific item

close_session = client.drive_close_session(item_id)

Get worksheets

get_worksheets = client.excel_get_worksheets(item_id)

Get specific worksheet

specific_worksheet = client.excel_get_specific_worksheet(item_id, worksheet_id)

Add worksheets

add_worksheet = client.excel_add_worksheet(item_id)

Update worksheet

update_worksheet = client.excel_update_worksheet(item_id, worksheet_id)

Get charts

get_charts = client.excel_get_charts(item_id, worksheet_id)

Add chart

add_chart = client.excel_add_chart(item_id, worksheet_id)

Get tables

get_tables = client.excel_get_tables(item_id)

Add table

add_table = client.excel_add_table(item_id)

Add column to table

add_column = client.excel_add_column(item_id, worksheets_id, table_id)

Add row to table

add_row = client.excel_add_row(item_id, worksheets_id, table_id)

Get table rows

get_rows = client.excel_get_rows(item_id, table_id)

Get range

get_range = client.excel_get_range(item_id, worksheets_id)

Update range

update_range = client.excel_update_range(item_id, worksheets_id)

Requirements

  • requests

Tests

test/test.py