用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

获取联系人

如果您需要特定的联系人,请发送数据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

要使用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

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java将Map<String,String>传递给需要Map<String,Object>   java在循环中使用字符串而不是StringBuilder是否会造成内存损失?   jnlp如何更新java控制台JRE?   java更改、修改和重新打包CXFAPI源文件   JavaFXJava应用程序在Fedora上运行一段时间后关闭   使用来自不同类的方法的java   java如何通过ant脚本在linux中使用subst?   java在使用camunda modeler进行base64编码/解码时出错   获取java。netbeans、weblogic和fastswap设置为true时的lang.NoSuchMethodError   java如何提高FinalizerThread在GC中收集对象的优先级   java检测具有相同根的单词   netbeans crud应用程序中的java错误