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