Вызовы API Microsoft Graph из Python

У меня достаточно простая задача. Мне нужно иметь возможность создавать черновики сообщений в моей учетной записи Outlook из Python. Я понимаю, что это влечет за собой регистрацию приложения в Azure Active Directory и установку соответствующих разрешений — что я и сделал. Моя проблема заключается в входе в систему с Python - я не могу понять, как это сделать. Я знаю, что есть примеры сценариев для различных способов сделать это, но они мне не помогли. Мне не нужны какие-либо сложные веб-страницы, созданные с помощью Flask, мне просто нужно войти в систему и сделать простой вызов графического API.

Если бы вы могли показать простой пример входа в систему из Python, я был бы очень признателен.

Спасибо!

Вы можете начать с этого примера, в котором используется поток кода устройства.

Shiva Keshav Varma 10.12.2020 12:47
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
2
1
4 249
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Если вы ищете простую демонстрацию создания черновика письма для определенного пользователя 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":"[email protected]"
            }
        }
    ]
}

result = requests.post(create_message_URL, json = message_obj,headers = request_headers)

print(result.text)

Результат:

Примечание. Убедитесь, что вашему приложению Azure AD предоставлено разрешение приложения Mail.ReadWrite.

Дайте мне знать, если у вас возникнут дополнительные вопросы.

Другие вопросы по теме