这个问题通常是由于 CSRF(跨站请求伪造)保护造成的。为了解决这个问题,需要在你的代码中添加一个 CSRF 令牌。在 Python 中,你可以使用 msal 库来获取一个 CSRF 令牌。下面是一个示例代码:
import msal
client_id = "YOUR_CLIENT_ID"
authority = "https://login.microsoftonline.com/YOUR_TENANT_ID"
client_secret = "YOUR_CLIENT_SECRET"
app = msal.ConfidentialClientApplication(
client_id=client_id,
client_credential=client_secret,
authority=authority
)
csrf_token = app.initiate_auth_code_flow(["https://graph.microsoft.com/.default"], state=None)["state"]
# 将获得的令牌传递到你的 O365 Python 连接代码中
# ...
通过以上代码,可以获取到一个 CSRF 令牌,并将其传递到连接 O365 Python 的代码中,将解决这个连接问题。