无法将 MSGraph 与 python MSAL 一起使用

Failed to use MSGraph with python MSAL

我正在尝试开发一个将从 crontab 启动的简单应用程序。 此应用程序必须连接到我的 outlook (Office360) 日历并下载所有事件,之后我将插入我的 MariaDb。 我认为这很容易,但在过去的 4 天里我失去了理智。 我尝试使用 NodeJs 遵循 Microsoft 文档,但我找不到静默模式(一种始终无需登录即可请求身份验证的模式)来接收令牌和数据。 然后我尝试以不同的方式使用 Python,首先使用 EWS,但我读到将来会弃用,在过去的 2 天里,我正在尝试使用 MSAL 和 ADAL。 MSAL 方法似乎更加分散,但当我还使用 acquire_token_by_username_passwordacquire_token_by_device_flow

启动我的脚本时,我仍然遇到这个问题

AADSTS7000218: The request body must contain the following parameter: 'client_assertion' or 'client_secret'.

我的代码与 GitHub https://github.com/AzureAD/microsoft-authentication-library-for-python/tree/dev/sample 相同 我在 parameter.json 中更改我的配置并插入我的:

{
    "authority": "https://login.microsoftonline.com/organizations",
    "client_id": "ClinetIdOfApp Set in Azure",
    "username": "myaccont@account.xx",
    "scope": ["User.Read","Calendars.Read"],
    "password": "MyPassword*****"
}

拜托,任何人都可以告诉我一些关于跳这块石头的建议吗? 谢谢

您正在使用资源所有者密码凭证,您需要将您的应用程序视为public客户端

登录 Azure 门户->单击 Azure Active Directory->单击应用程序注册->找到您的应用程序->单击身份验证->将默认客户端类型更改为 public 客户端。

结果: