You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Microsoft Graph Python教程存缺口致卡壳,求库选型及日历查询指导

解决Python调用Microsoft Graph API的三个核心问题

问题1:依赖库的来源与选型说明

官方教程中用到的核心库有两个:

  • msal:微软官方维护的身份验证库,专门用于获取Azure AD的应用权限令牌(App-Only Token),是微软推荐的Graph API身份验证工具,选型依据为官方适配性和稳定性。
  • requests:Python生态中最常用的HTTP请求库,用于向Graph API发送REST请求,选型依据为通用性和易用性。

安装命令:

pip install msal requests

关于库的文档:msal的官方说明可通过微软开发者平台查询,requests的文档可参考Python官方或PyPI上的项目说明。

问题2:Python自定义查询示例

Graph API是RESTful接口,所有语言的调用逻辑本质都是构造HTTP请求并携带有效令牌。以下是通用Python调用模板:

1. 获取应用权限令牌(基于教程逻辑)

import msal

# 替换为你的Azure应用配置
CLIENT_ID = "你的客户端ID"
CLIENT_SECRET = "你的客户端密钥"
TENANT_ID = "你的租户ID"
AUTHORITY = f"https://login.microsoftonline.com/{TENANT_ID}"
SCOPE = ["https://graph.microsoft.com/.default"]

# 初始化MSAL客户端
app = msal.ConfidentialClientApplication(
    CLIENT_ID, authority=AUTHORITY, client_credential=CLIENT_SECRET
)

# 获取令牌
result = app.acquire_token_for_client(scopes=SCOPE)
access_token = result.get("access_token")

2. 调用Graph API示例(以获取日历事件为例)

import requests

# 替换为目标Hotmail用户的邮箱或用户ID
USER_ID = "target-user@hotmail.com"
GRAPH_API_ENDPOINT = f"https://graph.microsoft.com/v1.0/users/{USER_ID}/calendar/events"

headers = {
    "Authorization": f"Bearer {access_token}",
    "Content-Type": "application/json"
}

# 发送GET请求获取日历事件
response = requests.get(GRAPH_API_ENDPOINT, headers=headers)
if response.status_code == 200:
    events = response.json()
    print("日历事件:", events)
else:
    print("请求失败:", response.text)

你可以修改GRAPH_API_ENDPOINT实现自定义查询:比如获取日历详情用/users/{USER_ID}/calendar,筛选特定时间事件添加参数?$filter=start/dateTime ge '2024-01-01T00:00:00Z'。

问题3:应用权限读取Hotmail日历的实现步骤

  1. 确认Azure应用权限配置:
    • 在Azure AD应用注册中,添加应用权限(而非委托权限),选择Calendars.Read(需修改则选Calendars.ReadWrite),并确保已获取管理员同意(应用权限必须由租户管理员授权)。
  2. 配置租户ID与用户标识:
    • 个人Hotmail账户属于微软消费者租户,TENANT_ID需设为consumers;目标用户标识可直接使用Hotmail邮箱地址,或通过https://graph.microsoft.com/v1.0/users接口(需User.Read.All应用权限)查询用户ID。
  3. 调用日历API:
    • 使用上述Python代码模板,替换USER_ID为目标Hotmail邮箱,发送GET请求即可读取日历及预约信息。

内容的提问来源于stack exchange,提问作者Askari Blue

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.23 19:35:13