用python编写的微软图形api包装器
microsoftgraph-python的Python项目详细描述
Microsoft Python
用python编写的微软图形api包装器。
安装
pip install microsoftgraph-python
用法
如果您需要Office 365令牌,请按如下方式发送Office365属性:
from microsoftgraph.client import Client
client = Client('CLIENT_ID', 'CLIENT_SECRET', account_type='by defect common', office365=True)
如果不需要,请按如下方式引用库:
from microsoftgraph.client import Client
client = Client('CLIENT_ID', 'CLIENT_SECRET', account_type='by defect common')
获取授权URL
url = client.authorization_url(redirect_uri, scope, state=None)
交换访问令牌的代码
token = client.exchange_code(redirect_uri, code)
刷新令牌
token = client.refresh_token(redirect_uri, refresh_token)
设置标记
token = client.set_token(token)
接我
me = client.get_me()
获取消息
me = client.get_message(message_id="")
webhook部分,请参阅api文档:https://developer.microsoft.com/en-us/graph/docs/api-reference/beta/resources/webhooks
创建订阅
subscription = client.create_subscription(change_type, notification_url, resource, expiration_datetime, client_state=None)
续订
renew = client.renew_subscription(subscription_id, expiration_datetime)
删除订阅
renew = client.delete_subscription(subscription_id)
OneNote分区,请参阅API文档:https://developer.microsoft.com/en-us/graph/docs/concepts/integrate_with_onenote
列出笔记本
notebooks = client.list_notebooks()
获取笔记本
notebook = client.get_notebook(notebook_id)
获取笔记本分区
section_notebook = client.get_notebook_sections(notebook_id)
创建页面
add_page = client.create_page(section_id, files)
列表页
pages = client.list_pages()
日历部分,请参阅api文档:https://developer.microsoft.com/en-us/graph/docs/api-reference/beta/resources/calendar
获取事件
events = client.get_me_events()
创建日历事件
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)
获取日历
events = client.get_me_calendars()
创建日历
events = client.create_calendar(name)
联系人部分,请参阅api文档:https://developer.microsoft.com/en-us/graph/docs/api-reference/beta/resources/contact
获取联系人
url = client.authorization_url(redirect_uri, scope, state=None)
token = client.exchange_code(redirect_uri, code)
token = client.refresh_token(redirect_uri, refresh_token)
token = client.set_token(token)
me = client.get_me()
me = client.get_message(message_id="")
subscription = client.create_subscription(change_type, notification_url, resource, expiration_datetime, client_state=None)
renew = client.renew_subscription(subscription_id, expiration_datetime)
删除订阅
renew = client.delete_subscription(subscription_id)
OneNote分区,请参阅API文档:https://developer.microsoft.com/en-us/graph/docs/concepts/integrate_with_onenote
列出笔记本
notebooks = client.list_notebooks()
获取笔记本
notebook = client.get_notebook(notebook_id)
获取笔记本分区
section_notebook = client.get_notebook_sections(notebook_id)
创建页面
add_page = client.create_page(section_id, files)
列表页
pages = client.list_pages()
日历部分,请参阅api文档:https://developer.microsoft.com/en-us/graph/docs/api-reference/beta/resources/calendar
获取事件
events = client.get_me_events()
创建日历事件
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)
获取日历
events = client.get_me_calendars()
创建日历
events = client.create_calendar(name)
联系人部分,请参阅api文档:https://developer.microsoft.com/en-us/graph/docs/api-reference/beta/resources/contact
获取联系人
add_page = client.create_page(section_id, files)
pages = client.list_pages()
日历部分,请参阅api文档:https://developer.microsoft.com/en-us/graph/docs/api-reference/beta/resources/calendar
获取事件
events = client.get_me_events()
创建日历事件
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)
获取日历
events = client.get_me_calendars()
创建日历
events = client.create_calendar(name)
联系人部分,请参阅api文档:https://developer.microsoft.com/en-us/graph/docs/api-reference/beta/resources/contact
获取联系人
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)
events = client.get_me_calendars()
events = client.create_calendar(name)
联系人部分,请参阅api文档:https://developer.microsoft.com/en-us/graph/docs/api-reference/beta/resources/contact
获取联系人
如果您需要特定的联系人,请发送数据ID中的联系人ID
specific_contact = client.outlook_get_me_contacts(data_id="")
如果需要所有联系人
specific_contact = client.outlook_get_me_contacts()
创建联系人
add_contact = client.outlook_create_me_contact()
在特定文件夹中创建联系人
add_contact_folder = client.outlook_create_contact_in_folder(folder_id)
获取联系人文件夹
folders = client.outlook_get_contact_folders()
创建联系人文件夹
add_folders = client.outlook_create_contact_folder()
onedrive部分,请参阅api文档:https://developer.microsoft.com/en-us/graph/docs/api-reference/beta/resources/onedrive
获取根项
root_items = client.drive_root_items()
获取根子项
root_children_items = client.drive_root_children_items()
获取特定文件夹项
folder_items = client.drive_specific_folder(folder_id)
excel部分,参见api文档:https://developer.microsoft.com/en-us/graph/docs/api-reference/beta/resources/excel
add_folders = client.outlook_create_contact_folder()
root_items = client.drive_root_items()
获取根子项
root_children_items = client.drive_root_children_items()
获取特定文件夹项
folder_items = client.drive_specific_folder(folder_id)
excel部分,参见api文档:https://developer.microsoft.com/en-us/graph/docs/api-reference/beta/resources/excel
root_children_items = client.drive_root_children_items()
folder_items = client.drive_specific_folder(folder_id)
excel部分,参见api文档:https://developer.microsoft.com/en-us/graph/docs/api-reference/beta/resources/excel
要使用Excel,您应该知道文件所在的文件夹ID
为特定项目创建会话
create_session = client.drive_create_session(item_id)
特定项目的刷新会话
refresh_session = client.drive_refresh_session(item_id)
关闭特定项目的会话
close_session = client.drive_close_session(item_id)
获取工作表
get_worksheets = client.excel_get_worksheets(item_id)
获取特定工作表
specific_worksheet = client.excel_get_specific_worksheet(item_id, worksheet_id)
添加工作表
add_worksheet = client.excel_add_worksheet(item_id)
更新工作表
update_worksheet = client.excel_update_worksheet(item_id, worksheet_id)
获取图表
get_charts = client.excel_get_charts(item_id, worksheet_id)
添加图表
add_chart = client.excel_add_chart(item_id, worksheet_id)
获取表格
get_tables = client.excel_get_tables(item_id)
添加表格
add_table = client.excel_add_table(item_id)
将列添加到表中
add_column = client.excel_add_column(item_id, worksheets_id, table_id)
将行添加到表中
add_row = client.excel_add_row(item_id, worksheets_id, table_id)
获取表行
get_rows = client.excel_get_rows(item_id, table_id)
获取范围
get_range = client.excel_get_range(item_id, worksheets_id)
更新范围
update_range = client.excel_update_range(item_id, worksheets_id)
要求
- 请求
测试
test/test.py
get_worksheets = client.excel_get_worksheets(item_id)
specific_worksheet = client.excel_get_specific_worksheet(item_id, worksheet_id)
添加工作表
add_worksheet = client.excel_add_worksheet(item_id)
更新工作表
update_worksheet = client.excel_update_worksheet(item_id, worksheet_id)
获取图表
get_charts = client.excel_get_charts(item_id, worksheet_id)
添加图表
add_chart = client.excel_add_chart(item_id, worksheet_id)
获取表格
get_tables = client.excel_get_tables(item_id)
添加表格
add_table = client.excel_add_table(item_id)
将列添加到表中
add_column = client.excel_add_column(item_id, worksheets_id, table_id)
将行添加到表中
add_row = client.excel_add_row(item_id, worksheets_id, table_id)
获取表行
get_rows = client.excel_get_rows(item_id, table_id)
获取范围
get_range = client.excel_get_range(item_id, worksheets_id)
更新范围
update_range = client.excel_update_range(item_id, worksheets_id)
要求
- 请求
测试
test/test.py
add_worksheet = client.excel_add_worksheet(item_id)
update_worksheet = client.excel_update_worksheet(item_id, worksheet_id)
获取图表
get_charts = client.excel_get_charts(item_id, worksheet_id)
添加图表
add_chart = client.excel_add_chart(item_id, worksheet_id)
获取表格
get_tables = client.excel_get_tables(item_id)
添加表格
add_table = client.excel_add_table(item_id)
将列添加到表中
add_column = client.excel_add_column(item_id, worksheets_id, table_id)
将行添加到表中
add_row = client.excel_add_row(item_id, worksheets_id, table_id)
获取表行
get_rows = client.excel_get_rows(item_id, table_id)
获取范围
get_range = client.excel_get_range(item_id, worksheets_id)
更新范围
update_range = client.excel_update_range(item_id, worksheets_id)
要求
- 请求
测试
test/test.py
add_column = client.excel_add_column(item_id, worksheets_id, table_id)
add_row = client.excel_add_row(item_id, worksheets_id, table_id)
获取表行
get_rows = client.excel_get_rows(item_id, table_id)
获取范围
get_range = client.excel_get_range(item_id, worksheets_id)
更新范围
update_range = client.excel_update_range(item_id, worksheets_id)
要求
- 请求
测试
test/test.py