Недавно я пытался перенести процесс извлечения электронной почты из Powershell на Python с использованием активного каталога Azure для библиотеки Python.Я пытался использовать функцию acquisition_token_with_client_credentials , чтобы сделать это, но я столкнулся с ошибкой.
Я могу использовать приведенный ниже код для возврата кода доступа, но я не могу использоватьполученный токен для возврата любых элементов почтового ящика.
Мне удалось создать собственное приложение и успешно получить доступ к сообщениям с использованием acqu_token_with_username_password , но я не могу получить этот наборкод для работы на моем удаленном рабочем столе, поскольку он печатает сообщение об ошибке:
"Из-за изменения конфигурации, сделанного вашим администратором, или из-за того, что вы переехали в новое место, вы должны использовать многофакторную аутентификацию"
Я подготовил поток учетных данных клиента, но все еще не могу заставить работать приведенный ниже пример.Кто-нибудь может увидеть, где я иду не так?
def test8():
import adal
import requests
authority_url = "https://login.microsoftonline.com/"+lf_tenantid
context = adal.AuthenticationContext(
authority_url,
validate_authority=True,
api_version=None
)
resource = 'https://outlook.office.com/'
token = context.acquire_token_with_client_credentials(
resource=resource,
client_id = etl_clientid2,
client_secret = etl_clientsecret2
)
access_token = token['accessToken']
print(token)
#######################################NONE OF THIS PART WORKS
#######################################
#######################################
folder_id = etl_folderid
url = "https://outlook.office.com/api/v2.0/me/MailFolders/"+folder_id+"/messages"
headers = {
'Authorization': 'Bearer '+access_token
}
r = requests.get(url, headers=headers)
print(r)