如何在没有UI交互的情况下使用python连接Microsoft Graph?

时间:2018-07-27 22:12:56

标签: python azure microsoft-graph

我正在跟踪此链接> python-sample-send-mail发送电子邮件,但是我想在后台跳过或验证用户,而无需进行任何UI交互。我不喜欢OAuth:弹出一个窗口的想法。

我的应用程序已在Microsoft Azure AD中注册。

我想知道如何在没有UI交互的情况下使用电子邮件用户名和密码进行身份验证。

非常感谢!

1 个答案:

答案 0 :(得分:2)

根据doc:AAD V2.0端点协议的限制,v2.0端点不支持OAuth 2.0资源所有者密码凭证授予。 在python ADAL sdk中,acquire_token_with_username_password方法不接受客户端密钥,因此您需要注册本机应用程序。 样例代码: 进口阿达尔 汇入要求 租户=“” client_id =“应用程序ID” #client_secret =“” 用户名=“” 密码=“” 权限=“ https://login.microsoftonline.com/” +租户 资源=“ https://graph.microsoft.com” context = adal.AuthenticationContext(authority) #将此用于客户端凭据 #token = context.acquire_token_with_client_credentials( #资源 #client_id, #client_secret #) #将其用于资源所有者密码凭证(ROPC) 令牌= context.acquire_token_with_username_password(资源,用户名,密码,client_id) graph_api_endpoint ='https://graph.microsoft.com/v1.0{0}' #/ me仅适用于ROPC,对于客户端凭据,您需要/