来自 Python 的 Microsoft Graph API 调用
Microsoft Graph API calls from Python
我有一个相当简单的任务。我需要能够从 Python 在我的 Outlook 帐户中创建消息草稿。我知道这需要在 Azure Active Directory 中注册一个应用程序并设置相应的权限——我已经完成了。我的问题是从 Python 登录 - 我不知道该怎么做。我知道有各种途径的示例脚本,但它们对我没有帮助。我不需要用 Flask 创建任何复杂的网页,我只需要登录并进行简单的图形调用 api。
如果您能展示一个从 Python 登录的简单示例,我将不胜感激。
谢谢!
如果您正在寻找为特定 Azure AD 用户创建邮件草稿的简单演示,请尝试以下代码:
import adal
import json
import requests
tenant = '<your tenant name or id>'
app_id = '<your azure ad app id>'
app_password = '<your azure ad app secret>'
userAccount = '<user account you want to create mail draft>'
resource_URL ='https://graph.microsoft.com'
authority_url = 'https://login.microsoftonline.com/%s'%(tenant)
context = adal.AuthenticationContext(authority_url)
token = context.acquire_token_with_client_credentials(
resource_URL,
app_id,
app_password)
request_headers = {'Authorization': 'bearer %s'%(token['accessToken'])}
create_message_URL =resource_URL + '/v1.0/users/%s/messages'%(userAccount)
message_obj = {
"subject":"Did you see last night's game?",
"importance":"Low",
"body":{
"contentType":"HTML",
"content":"They were <b>awesome</b>!"
},
"toRecipients":[
{
"emailAddress":{
"address":"AdeleV@contoso.onmicrosoft.com"
}
}
]
}
result = requests.post(create_message_URL, json = message_obj,headers = request_headers)
print(result.text)
结果:
注意:请确保您的 Azure AD 应用程序已被授予应用程序 Mail.ReadWrite
权限
如果您还有其他问题,请告诉我。
我有一个相当简单的任务。我需要能够从 Python 在我的 Outlook 帐户中创建消息草稿。我知道这需要在 Azure Active Directory 中注册一个应用程序并设置相应的权限——我已经完成了。我的问题是从 Python 登录 - 我不知道该怎么做。我知道有各种途径的示例脚本,但它们对我没有帮助。我不需要用 Flask 创建任何复杂的网页,我只需要登录并进行简单的图形调用 api。
如果您能展示一个从 Python 登录的简单示例,我将不胜感激。
谢谢!
如果您正在寻找为特定 Azure AD 用户创建邮件草稿的简单演示,请尝试以下代码:
import adal
import json
import requests
tenant = '<your tenant name or id>'
app_id = '<your azure ad app id>'
app_password = '<your azure ad app secret>'
userAccount = '<user account you want to create mail draft>'
resource_URL ='https://graph.microsoft.com'
authority_url = 'https://login.microsoftonline.com/%s'%(tenant)
context = adal.AuthenticationContext(authority_url)
token = context.acquire_token_with_client_credentials(
resource_URL,
app_id,
app_password)
request_headers = {'Authorization': 'bearer %s'%(token['accessToken'])}
create_message_URL =resource_URL + '/v1.0/users/%s/messages'%(userAccount)
message_obj = {
"subject":"Did you see last night's game?",
"importance":"Low",
"body":{
"contentType":"HTML",
"content":"They were <b>awesome</b>!"
},
"toRecipients":[
{
"emailAddress":{
"address":"AdeleV@contoso.onmicrosoft.com"
}
}
]
}
result = requests.post(create_message_URL, json = message_obj,headers = request_headers)
print(result.text)
结果:
注意:请确保您的 Azure AD 应用程序已被授予应用程序 Mail.ReadWrite
权限
如果您还有其他问题,请告诉我。